之前,我想刪除最後一個選項卡(或逗號)之前的一切一切。刪除最後一個逗號
例如,在這樣的句子:
如何進入一個已經建立的機構像荷蘭露天博物館,具有工藝和傳統邊界以外尋求續約廣泛關聯?
肩峯是
創新?
我訂購了超過六週前一本書,我仍然在等待,任何想法的等待多久會持續下去?
肩峯是
任何想法的等待多久會持續下去?
我想這一點,
「^(。* \ T +)+」 那可是不行的。
之前,我想刪除最後一個選項卡(或逗號)之前的一切一切。刪除最後一個逗號
例如,在這樣的句子:
如何進入一個已經建立的機構像荷蘭露天博物館,具有工藝和傳統邊界以外尋求續約廣泛關聯?
肩峯是
創新?
我訂購了超過六週前一本書,我仍然在等待,任何想法的等待多久會持續下去?
肩峯是
任何想法的等待多久會持續下去?
我想這一點,
「^(。* \ T +)+」 那可是不行的。
正則表達式是這個職位的錯誤的工具。
只需使用lastIndexOf()
找到最後,
和/或\t
,然後使用substring()
來砍掉你想保留什麼。
無論哪種方式,寫了這一點,使用正確的Java成語,將更多的自我記錄,並從長遠來看,更易於維護。
String s1 = "asdfasdadfsdf,asdfasd,fasd,fasd,fasdf";
s1.lastIndexOf(",");
System.out.println(s1.substring(s1.lastIndexOf(",")+1,s1.length()));
而不是將其作爲思維的最後一個逗號之前刪除的部分,你可以把它作爲最後一個逗號後的提取部分。這可以用下面的正則表達式來實現:
(?:[,\t]|^)([^,\t]*)$
說明:
(?:[,\t]|^)
任一相匹配的,
,製表符或字符串的開始。 (沒有抓住。)([^,\t]*)
捕捉跟它,這不是一個,
或標籤。$
它錨字符串的結尾任何符號。總的來說這個肩峯做的工作。
大答案@stema – 2012-06-19 13:05:37