2014-10-27 52 views
3

我想忽略引號中的.。我應該使用哪種正則表達式?如何忽略引號中的「點」

例句:

String sentence = "i love you. \"i'm sorry. but love someone else,\" he said to me. "; 

有三個.,但我想忽略在引號.以句子的總和爲兩個。

我的代碼和一些正則表達式,我有:

public static String[] ignoreWord(String word){ 
String [] arrWords = word.replaceAll(", *| , *|- *| - *|\\(*| \\(*|\\) *|\\{ *| \\} *| \\} *| \\{*|\\} *", " ").split("\\. "); 
return arrWords; 
} 

回答

3
\.(?=(?:[^"]*"[^"]*")*[^"]*$) 

嘗試this.See演示。

http://regex101.com/r/zX3tG3/1

+0

巧妙的解決方案! – 2014-10-27 16:37:16

+0

@BrianStephens:)......... – vks 2014-10-27 16:38:04

+0

你能解釋一下嗎?我仍然在學習。 爲什麼當我分裂他們不喜歡這個句子時:「我愛你」和「我很抱歉,但是愛別人,」他對我說「? – Sen 2014-10-27 17:03:23