我的意思是什么字符串值被接受为分隔符?这是因为我一直在尝试使用由几个不同字符组成的字符串,但程序似乎只是忽略了它,因为它只是用空格作为默认分隔符进行扫描……
例如,如果标记化字符串如下: Phone Number = 790-3233
我希望第一个令牌直到“=”,因此我将其设置为分隔符,下一个令牌应该是字符串"790-3233“
先谢谢你...
发布于 2011-02-19 17:28:59
缺省情况下,如果未提供分隔符,则分隔符为space
// Extracted StringTokenizer.java
public StringTokenizer(String string)
{
this(string, " \t\n\r\f", false);
}如果将=作为分隔符与字符串一起提供,则它将拆分
StringTokenizer st = new StringTokenizer("Phone Number = 790-3233","=");发布于 2011-02-19 17:29:10
遵循remark from the API docs
StringTokenizer是一个遗留类,由于兼容性原因而保留,尽管在新代码中不鼓励使用它。建议任何寻求此功能的人使用String或java.util.regex包的split方法。
在这种情况下,我将使用split:
String text = "Phone Number = 790-3233";
String[] tokens = text.split("\\s*=\\s*");正则表达式\s*=\s*匹配零个或多个空格字符,后跟一个=符号,然后是零个或多个空格字符。
发布于 2011-02-19 17:30:59
使用:
String[] result = "your string=790-3233".split("=");有关字符串令牌器的信息,请参阅reference。
https://stackoverflow.com/questions/5049934
复制相似问题