2016-09-23 80 views
-1

我想用「Uttpp Urgent Upp!」改爲「Hitttt Urrggeennnttt Rrare」,使用正則表達式或「Uupppp Uuurrgegent Upp !! Barrkk」 !Barrkk「。 (所有的字都是駱駝的情況。)使用Java中的正則表達式重複字母更正單詞「urgent」

我的意思是我只是想糾正'緊急的,而不是其他的話。

s.replaceAll("([Urgent])\\1+", "$1"); 

不起作用。任何想法?

+2

只需創建一個正則表達式 「緊急」,其中每個字母可以出現一次或多次。不那麼難。你有沒有嘗試過一些東西? – Tom

回答

1

這應該爲你工作:

public static void main(String[] args) { 
    String s = "hitttt Urrggeennnttt rrare"; 
    s = s.replaceAll("(?i)u+r+g+e+n+t+", "Urgent"); // ?i ==> case insensitive 
    System.out.println(s); 
} 

hitttt緊急rrare

+1

開始時使用(?i)還是/.../i(限定符)有很大區別?我從來沒有看到(?)*匹配模式的其餘部分*這樣使用,但這很有趣。 regex101爲(?i)計算8個步驟,但對於* i *限定符只計算7個步驟。 –

+1

@SimonPA - '(?i)'用於java。 '//我'不是:) – TheLostMind