[AVA]19日目(StringTokenizerクラス/hasMoreTokens/nextToken()
8月10日(月)
⑪StringTokenizerクラス StringTokenizerクラスを知っていれば、JavaのCollection Premizerを学ぶときに、その構造が分かりやすいです. StringTokenizerクラス
文字列グループ(解析)情報を提供するクラス.
グループ化(解析)する文字列をパラメータとして生成します.
ここで、「分析」(Parsing)とは、1つの文字列を複数の文字列とすることを意味する.
これは、分割操作を行うことを意味します.
文字列はトークンと呼ばれます.
StringTokenizerクラス.
java.utilパッケージのString.Tokenizerをインポートする必要があります.
★StringTokenizerクラスは互換性を保つことを目的としています
保留、★文字列をグループ化(解析)するために、
Stringクラスのsplit()メソッドはjavaです.util.regexパッケージ
使用を推奨します.
生成者プロトタイプ
StringTokenizer(String str)
StringTokenizer(String str, String delim)
StringTokenizer(String str, String delim, boolean returnDelims)
→指定された文字列strを単語に分離するオブジェクトを作成します.
スペース(区切り)文字をdelimに含まれる文字として処理します.
Delimsをtrueに戻すと
区切り記号も分離されたデータとして処理されます. StringTokenizerクラスコードの説明📝
⑪StringTokenizerクラス
文字列グループ(解析)情報を提供するクラス.
グループ化(解析)する文字列をパラメータとして生成します.
ここで、「分析」(Parsing)とは、1つの文字列を複数の文字列とすることを意味する.
これは、分割操作を行うことを意味します.
文字列はトークンと呼ばれます.
StringTokenizerクラス.
java.utilパッケージのString.Tokenizerをインポートする必要があります.
★StringTokenizerクラスは互換性を保つことを目的としています
保留、★文字列をグループ化(解析)するために、
Stringクラスのsplit()メソッドはjavaです.util.regexパッケージ
使用を推奨します.
生成者
StringTokenizer(String str)
StringTokenizer(String str, String delim)
StringTokenizer(String str, String delim, boolean returnDelims)
→指定された文字列strを単語に分離するオブジェクトを作成します.
スペース(区切り)文字をdelimに含まれる文字として処理します.
Delimsをtrueに戻すと
区切り記号も分離されたデータとして処理されます.
import java.io.InputStreamReader;
import java.io.BufferedReader;
import java.io.IOException;
import java.util.StringTokenizer;
public class Test136
{
public static void main(String[] args) throws IOException
{
String strTemp;
String[] strArr;
int n;
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.print("파싱할 문자열 입력(컴마구분) : "); // "사과,딸기,바나나,토마토"
strTemp = br.readLine();
// StringTokenizer 클래스 인스턴스 생성
StringTokenizer st = new StringTokenizer(strTemp, ","); //위에 적은거 2번째 생성자
//-- strTemp를 대상 문자열로...
// 『,』를 구분자로...
strArr = new String[st.countTokens()]; // st.countTokens() -> 4
//-- int countTokens()
// : 파싱된 문자열의 갯수를 반환(리턴)한다.
n = 0;
while (st.hasMoreTokens()) // true / false
{
strArr[n++] = st.nextToken(); // 해즈모어토큰즈는 망만보는아이 넥스트토큰은 가지고 오는 역할
// 다음 값이 있으면 해즈모어토큰이 트루반환
}
//-- 『hasMoreTokens』
// : 사용할 수 있는 토큰이 남아있는 경우 true 를 반환.
// 더 이상 사용할 토큰이 남아있지 않은 경우 false 를 반환.
// 확인 결과만 반환할 뿐...
// 실제 내용을 읽어들이는 헤드(▼)를 이동시키지 않는다.
//-- 『nextToken()』
// : 다음 토큰을 얻어온다.
// 다음 토큰을 얻어오며 헤드(▼)를 이동시키게 된다.
// 구분자를 바꾸었을 경우 다음 호출에도
// 바뀐 구분자를 이용하여 토큰을 분리한다.
System.out.print("파싱된 토큰(문자열) : ");
for (String str : strArr)
System.out.print(str + " ");
System.out.println();
//--==>>파싱할 문자열 입력(컴마구분) : 사과,딸기,포도,복숭아
// 파싱된 토큰(문자열) : 사과 딸기 포도 복숭아
// 계속하려면 아무 키나 누르십시오 . . .
}
}
Reference
この問題について([AVA]19日目(StringTokenizerクラス/hasMoreTokens/nextToken()), 我々は、より多くの情報をここで見つけました https://velog.io/@hyojin_j/JAVA19일차StringTokenizer-클래스hasMoreTokensnextTokenテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol