我正在尝试分割一个 String
。简单的例子可以工作:
groovy:000> print "abc,def".split(",");
[abc, def]===> null
groovy:000>
但是我需要用管道符号分割它,而不是逗号,但我没有得到期望的结果:
groovy:000> print "abc|def".split("|");
[, a, b, c, |, d, e, f]===> null
groovy:000>
当然,我的第一选择是将管道符(|
)替换为逗号(,
)作为分隔符。
但现在我很好奇:为什么这不起作用?转义管道符(\|
)似乎也没有帮助:
groovy:000> print "abc|def".split("\|");
ERROR org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed, groovysh_parse: 1: unexpected char: '\' @ line 1, column 24.
print "abcdef".split("\|");
^
1 error
|
at java_lang_Runnable$run.call (Unknown Source)
groovy:000>
\\|
。你需要转义\
以便在字符串中解释它,这样它就可以转义|
。 - Colin Hebert|
符号只有格式问题?其他的都正常工作。@Tom - Pratik Butani