2016-08-20 8 views
1

単語が文字の繰り返しを持つ条件を検出しようとしています。そのような条件を繰り返し文字で置き換えたいと思います。テキストはヘブライ語です。たとえば、שללללוווווםםםםはちょうどשלוםになります。 基本的には、文字が3回以上繰り返されると、その文字を検出して置き換える必要があります。正規表現で単語の文字の繰り返しを取得する

r gsubの正規表現を使いたいです。

df$text <- gsub("?", "?", df$text) 
+0

ルールに違反するパッケージを要求しないように注意してください。それは最高であなたの質問を閉じ、あなたの質問 - 悪いところで制限された特権を要求します。しかし、あなたはSoftware Recommendations SEサイトでそれを尋ねることができます。 –

答えて

4

あなたはNOTE

> x = "שללללוווווםםםם" 
> gsub("(.)\\1{2,}", "\\1", x) 
#[1] "שלום" 

を使用することができます - それは、以上3回繰り返される任意の文字(だけヘブライ語ではない)を置き換えます。

または任意の言語

> gsub("(\\w)\\1{2,}", "\\1", x) 
+1

ありがとうございました。 –

2

からだけ手紙/数字のために、以下のあなたが(他の人を維持する)だけで、ヘブライ語のスクリプトから繰り返し文字を削除する予定がある場合は、私がお勧めしたい:

s <- "שללללוווווםםםם .........   שללללוווווםםםם" 
gsub("(\\p{Hebrew})\\1{2,}", "\\1", s, perl=TRUE) 

01: regex demo in R

詳細を参照してください。

関連する問題