我正试着用双管把绳子分开。||)作为分隔符。字符串看起来像这样:
String str ="user@email1.com||user@email2.com||user@email3.com";
我可以使用StringTokeniser来拆分它。javadoc说不鼓励使用这个类,而是将String.split作为选项。
StringTokenizer token = new StringTokenizer(str, "||");
上面的代码工作正常。但是不能弄清楚为什么下面的string。split函数没有给我预期的结果。
String[] strArry = str.split("\\||");
我哪里错了...?
6条答案
按热度按时间wd2eg0qa1#
String.split()
使用正则表达式。您需要转义要用作分隔符的字符串。Pattern有一个方法可以为您完成这项工作,即
Pattern.quote(String s)
。k4emjkb12#
必须像这样转义每个
|
mctunoxg3#
尝试以下操作:
3qpi33ja4#
你也可以试试这个...
请注意,必须转义管道符,因为它在正则表达式中有特殊含义,而String.split()方法需要一个正则表达式参数。
x6h2sr285#
为此,您可以遵循两种不同的方法,您可以遵循您最适合的套件:
方法1:
通过使用字符串分割功能
这将在拆分后返回不同值的数组:
方法2:
通过使用模式和匹配器
这将为您提供连续管道的索引位置:
6tdlim6h6#
试试这个