我試圖拆分String
。簡單的例子工作:Grails:拆分包含管道的字符串
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>
你能提供一個例子嗎?它與我提供的最後一個代碼段不一樣嗎? – Tom 2010-10-01 19:50:26
@Tom,這是一個格式問題,他的意思是\ \ |'。你需要轉義'\'來讓它在字符串中解釋,所以它可以轉義'|' – 2010-10-01 19:51:36
@Colin非常感謝。沒有發現格式問題。我很抱歉。 – Tom 2010-10-01 19:55:20