字符串拆分中的Java错误

Oph*_*lia 1 java string

我希望我的程序接受搜索字符串,例如:blue&berry(找到两个单词)bed | 睡觉| 枕头(找到第一个或第二个等)当我收到这些字符串到我的程序,我使用String.split()与"&"或"|" 作为分隔符.

String[] splited = input.split("|");
Run Code Online (Sandbox Code Playgroud)

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

Flo*_*yle 5

split()正在以正则表达式作为论据.|意思是,所以你分裂"空字符串或空字符串",所以它在每个字母后分裂.如果你想拆分"|" 符号,你必须逃脱它:

String[] splited = input.split("\\|");
Run Code Online (Sandbox Code Playgroud)