在我的程序中,生成一个字符串,如"1&area_id=54&cid=3"
。首先是整数,然后是字符串"&area_id="
,然后是antoher整数,然后是字符串“& cid =”,然后是最后一个整数。这两个字符串总是相同的。但整数正在改变。如何编写分割函数,以便我可以在三个变量中找到这三个整数或在数组中找到它们。我可以通过循环分离这些但我想使用分割函数。感谢
答案 0 :(得分:9)
怎么样
string.split("&\\w+=")
这适用于您的示例:
System.out.println(Arrays.asList("1&area_id=54&cid=3".split("&\\w+=")));
输出
[1, 54, 3]
对string.split("&\\w+=")
的调用以英语读取:在正则表达式参数的每个匹配项上拆分string
,然后将匹配的标记之间的所有子字符串作为数组返回。
正则表达式为:匹配所有以"&"
开头的子字符串,后跟至少("+"
)一个字符("\\w"
,即字母,数字和一些特殊字符,例如您示例中的下划线),后跟"="
。有关更多详细信息,请参阅java.util.regex.Pattern