我最近遇到了一個問題,我用「|」分割了一個字符串,作爲論據。例如:什麼時候管道需要放在方括號(匹配)中foo.split()
String foo = "Hello|World";
System.out.println(foo.split("|")[1]);
令我驚訝的打印結果是H.知道這是我的正則表達式用[]包圍它和它的工作正常(打印出的世界)。
我的問題是我怎麼知道何時需要[],因爲我已經使用split |沒有[]之前,它工作得很好。我的Java版本從此沒有改變。唯一的區別是這是一個android項目。
編輯:我似乎錯了,只是嘗試了各種方式分裂「|」無需轉義或將其添加到集合,但始終是相同的結果。我知道我以前曾在管道上分裂過,但似乎我必須逃脫或添加到一組以獲得正確的結果。
單個原子字符類是一種浪費,但。更好地去「逃生路」 – fge 2015-02-24 09:36:22
我知道這兩種方法,我的問題是,如果有反正知道什麼時候有必要,因爲我已經用「|」作爲沒有問題的爭論並按預期工作(認爲這不是最好的做法,只是想了解什麼是不同的) – Vinc 2015-02-24 09:38:40
'有什麼方法可以知道他們什麼時候需要嗎?如果你想'''用作一個字符,而不是一個正則表達符號,那麼你必須逃避。知道是否需要轉義取決於你的目的。 – 2015-02-24 09:41:04