つまり、区切り文字として受け入れられる文字列値は何ですか? これは、いくつかの異なる文字で構成される文字列を使用しようとし続けているためですが、プログラムはデフォルトの区切り文字として空のスペースをスキャンするだけでそれを無視しているようです...
たとえば、トークン化された文字列が次の場合: 電話番号 = 790-3233
最初のトークンを「 = 」までにしたいので、それを区切り文字として設定し、次のトークンは文字列「790-3233」にする必要があります
前もって感謝します...
つまり、区切り文字として受け入れられる文字列値は何ですか? これは、いくつかの異なる文字で構成される文字列を使用しようとし続けているためですが、プログラムはデフォルトの区切り文字として空のスペースをスキャンするだけでそれを無視しているようです...
たとえば、トークン化された文字列が次の場合: 電話番号 = 790-3233
最初のトークンを「 = 」までにしたいので、それを区切り文字として設定し、次のトークンは文字列「790-3233」にする必要があります
前もって感謝します...
space
デリミタを指定しない場合、デフォルトではデリミタはです。
// Extracted StringTokenizer.java
public StringTokenizer(String string)
{
this(string, " \t\n\r\f", false);
}
=
文字列とともに区切り文字として指定すると、分割されます
StringTokenizer st = new StringTokenizer("Phone Number = 790-3233","=");
API docs からの発言に続いて:
StringTokenizer は、新しいコードでの使用は推奨されていませんが、互換性のために保持されているレガシー クラスです。この機能が必要な場合は、代わりに String の split メソッドまたは java.util.regex パッケージを使用することをお勧めします。
この場合、分割を使用します。
String text = "Phone Number = 790-3233";
String[] tokens = text.split("\\s*=\\s*");
正規表現は、0 個以上のスペース文字、その後に符号、その後に 0 個以上のスペース\s*=\s*
文字が続くものと一致します。=