2013-09-28 77 views
-1

,我有以下形式的字符串:如何刪除可能標記字符串結尾的標點符號?

String s = "......????!!!!! I am doing!!!???good , you say!!! ...how are...??!! you doing!?????....."; 

,我想這個字符串的輸出如下:

"I am doing!!!???good you say how are you doing" 

,我不能拿出一個正則表達式,可以爲我做這件事,我正在嘗試的是一種掃描字符串並追加到文本的蠻力方式,但是有很多情況可以測試出來,如果有人能幫我找出正則表達式或更有效的方法來做這將是偉大的。

更具體地說我想要做的:刪除所有的開頭和結尾的終止,但會保留這些字符串作爲內發生的「說什麼????」

+0

請看[this](http://stackoverflow.com/a/15567045/1558430)。但是,您需要修改它以適應您的需求。 – Brian

+1

我認爲這可能會更好*禁止任何在一個句子末尾使用多個標點符號的用戶:-) –

+0

我實際上需要這個解析例程,我只是解析一些隨機文本,而只是似乎無法得到正則表達式:( – AnkitSablok

回答

2

這會爲你的工作,例如:

s = s.replaceAll("(?<=^|)[.?!]+|[.?!]+(?= |$)", ""); 

測試了這一行,它會產生您請求的輸出。

它刪除空格旁邊或兩端的所有標點符號。

+0

謝謝你的人:)你讓我的一天:) – AnkitSablok

+2

沒問題:)(你應該接受這個答案,如果它最好地回答你的問題) – Bohemian