字符串拆分中的Java错误

时间:2014-11-29 21:08:21

标签: java string

我希望我的程序接受搜索字符串,例如: 蓝色&浆果(找到这两个词) 床|睡觉|枕头(找到第一个或第二个等) 当我收到这些字符串到我的程序,我使用 String.split()带“&”或“|”作为分隔符。

String[] splited = input.split("|");

在第一种情况下工作正常,但在第二种情况下,将单词中的每个字母分开,例如:b e d。我可以做一些事情,用这个符号分隔单词,而不是一字一句地分开吗?

2 个答案:

答案 0 :(得分:5)

split()正在使用regexp作为参数。 |表示或者,因此您要分割"空字符串或空字符串",以便它在每个字母后分割。如果你想拆分" |"符号,你必须逃脱它:

String[] splited = input.split("\\|");

答案 1 :(得分:3)

String.split(String)使用正则表达式和|是正则表达式中的特殊字符。使用\|引用文字|\\来转义Java的\。导致\\|