我的意思是什么字符串值被接受为分隔符? 这是因为我一直在尝试使用由几个不同字符组成的字符串,但程序似乎只是忽略它,只是用空格作为默认分隔符进行扫描......
例如,如果标记化字符串如下: 电话号码= 790-3233
我希望第一个令牌达到“=”,因此我将其设置为分隔符,下一个令牌应该是字符串“790-3233”
提前致谢...
答案 0 :(得分:1)
默认情况下,分隔符为space
,如果您不提供
// Extracted StringTokenizer.java
public StringTokenizer(String string)
{
this(string, " \t\n\r\f", false);
}
如果您将=
作为分隔符与字符串一起提供,则它会分割
StringTokenizer st = new StringTokenizer("Phone Number = 790-3233","=");
答案 1 :(得分:1)
StringTokenizer是一个遗留类,出于兼容性原因而保留,尽管在新代码中不鼓励使用它。建议任何寻求此功能的人都使用String的split方法或java.util.regex包。
在这种情况下我会使用拆分:
String text = "Phone Number = 790-3233";
String[] tokens = text.split("\\s*=\\s*");
正则表达式\s*=\s*
匹配零个或多个空格字符,后跟=
个符号,后跟零个或多个空格字符。
答案 2 :(得分:0)