我的意思是什么字符串值被接受为分隔符?这是因为我一直在尝试使用由几个不同字符组成的字符串,但程序似乎忽略了它,因为只是用空白空间作为默认分隔符进行扫描......
例如,如果标记化字符串如下:电话号码 = 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 文档的评论:
StringTokenizer 是一个遗留类,出于兼容性原因保留,但不鼓励在新代码中使用它。建议任何寻求此功能的人改用 String 的 split 方法或 java.util.regex 包。
在这种情况下我会使用 split :
String text = "Phone Number = 790-3233";
String[] tokens = text.split("\\s*=\\s*");
正则表达式\s*=\s*
匹配零个或多个空格字符,后跟一个=
符号,然后是零个或多个空格字符。