2016-09-07 7 views
0

groovy(またはjava)でそれを行う方法は?他の言語で文字列中のN個のマッチを置き換える方法は?

(0..2).each { s = s.replaceFirst(/(?<=\p{L}) (?=\p{L})/, '') } 

それはパイのように簡単です::、私はこの愚かな解決策に来た今の

someString.replaceN(/(?<=\p{L}) (?=\p{L})/, '', 3) // replace first 3 matches 

:私はこのような何かを探し

答えて

1

私はあなたの後にある

3.times { s = s.replaceFirst(/(?<=\p{L}) (?=\p{L})/, '') } 

何であるかを考えたり、あなたがより頻繁にそれを必要とする場合にも簡単に

String.metaClass.replace << { pattern, replacement, n -> 
    def result = delegate 
    n.times { result = result.replaceFirst pattern, replacement } 
    result 
} 

someString.replace(/(?<=\p{L}) (?=\p{L})/, '', 3) 
のようにStringクラスにメソッドを追加することができます
関連する問題