java为什么StringTokenizer在$$as delimeter中不能正常工作
我使用StringTokenizer
来标记一个字符串,其中$$
作为delimeter,但是如果我的字符串类似于$1$dga74
,那么它会从第一个$
开始标记它。有谁能告诉我为什么会发生这种情况,我能做些什么来消除这个问题
String str="/getCPage.asp?m=total&sub=$1$dga74$$/getEpage.asp?m=tatal&sub=0";
StringTokenizer tok=new StringTokenizer(str,"$$")
String url1=tok.nextToken();
String url2=tok.nextToken();
# 1 楼答案
delim
参数中的每个字符都被视为分隔符字符。如果指定"$$"
,则指定$
两次(忽略第二次)要解决您的问题,您可以使用
Scanner
:产出:
# 2 楼答案
StringTokenizer仅适用于单字符标记
您可以使用^{} 和一个简单的循环来实现所需的结果: