2016-09-23 3 views
-1

正規表現を使用して「Hitttt Urgentntralet」または「Uupppp Uuurrgegeent Upp !! Barrkk」を「Uupppp Urgent Upp! !Barrkk "Javaで正規表現を使用して繰り返し文字で「緊急」という単語を修正します。

私はちょうど '緊急の、他の言葉を修正したいという意味です。

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

は機能しません。何か案が?

+2

をするだけのための正規表現を作成し、それぞれの文字が1回以上表示される可能性のある場所「緊急」。それは難しいことではありません。少なくとも何か試しましたか? – 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

関連する問題