単語が文字の繰り返しを持つ条件を検出しようとしています。そのような条件を繰り返し文字で置き換えたいと思います。テキストはヘブライ語です。たとえば、שללללוווווםםםם
はちょうどשלום
になります。 基本的には、文字が3回以上繰り返されると、その文字を検出して置き換える必要があります。正規表現で単語の文字の繰り返しを取得する
r gsub
の正規表現を使いたいです。
df$text <- gsub("?", "?", df$text)
単語が文字の繰り返しを持つ条件を検出しようとしています。そのような条件を繰り返し文字で置き換えたいと思います。テキストはヘブライ語です。たとえば、שללללוווווםםםם
はちょうどשלום
になります。 基本的には、文字が3回以上繰り返されると、その文字を検出して置き換える必要があります。正規表現で単語の文字の繰り返しを取得する
r gsub
の正規表現を使いたいです。
df$text <- gsub("?", "?", df$text)
あなたはNOTE
> x = "שללללוווווםםםם"
> gsub("(.)\\1{2,}", "\\1", x)
#[1] "שלום"
を使用することができます - それは、以上3回繰り返される任意の文字(だけヘブライ語ではない)を置き換えます。
または任意の言語
> gsub("(\\w)\\1{2,}", "\\1", x)
ありがとうございました。 –
からだけ手紙/数字のために、以下のあなたが(他の人を維持する)だけで、ヘブライ語のスクリプトから繰り返し文字を削除する予定がある場合は、私がお勧めしたい:
s <- "שללללוווווםםםם ......... שללללוווווםםםם"
gsub("(\\p{Hebrew})\\1{2,}", "\\1", s, perl=TRUE)
を
01: regex demo in R詳細を参照してください。
(\\p{Hebrew})
\\1{2,}
(\p{Hebrew}
がUnicode property/category classように) - \\1
として(グループ1つのバッファに格納された2以上の(による{2,}
limiting quantifier)同じ文字グループにbackreferenceあります1コンテンツ)。
ルールに違反するパッケージを要求しないように注意してください。それは最高であなたの質問を閉じ、あなたの質問 - 悪いところで制限された特権を要求します。しかし、あなたはSoftware Recommendations SEサイトでそれを尋ねることができます。 –