我希望我的程序接受搜索字符串,例如: 蓝色&浆果(找到这两个词) 床|睡觉|枕头(找到第一个或第二个等) 当我收到这些字符串到我的程序,我使用 String.split()带“&”或“|”作为分隔符。
String[] splited = input.split("|");
在第一种情况下工作正常,但在第二种情况下,将单词中的每个字母分开,例如:b e d。我可以做一些事情,用这个符号分隔单词,而不是一字一句地分开吗?
答案 0 :(得分:5)
split()
正在使用regexp作为参数。 |
表示或者,因此您要分割"空字符串或空字符串",以便它在每个字母后分割。如果你想拆分" |"符号,你必须逃脱它:
String[] splited = input.split("\\|");
答案 1 :(得分:3)
String.split(String)
使用正则表达式和|是正则表达式中的特殊字符。使用\|
引用文字|
和\\
来转义Java的\
。导致\\|
。