[解決済み] Rで文字列からすべての特殊文字を取り除くには?
2022-05-30 16:50:57
質問
Rで文字列からすべての特殊文字を削除し、空白に置き換えるにはどうすればよいですか?
削除する特殊文字には、以下のようなものがあります。
~!@#$%^&*(){}_+:"<>?,./;'[]-=
試しに
regex
と
[:punct:]
というパターンがありますが、これは句読点のみを削除するものです。
質問2:また、外国語の文字を削除する方法として、:
â í ü Â á ą ę ś ć
?
答え 使用する
[^[:alnum:]]
を削除するために
~!@#$%^&*(){}_+:"<>?,./;'[]-=
を削除し
[^a-zA-Z0-9]
を削除するには
â í ü Â á ą ę ś ć
で
regex
または
regexpr
という関数があります。
基本Rでの解答:
x <- "a1~!@#$%^&*(){}_+:\"<>?,./;'[]-="
gsub("[[:punct:]]", "", x) # no libraries needed
どのように解決するのですか?
あなたは
正規表現
を使って、不要な文字を特定する必要があります。 最も読みやすいコードにするために
str_replace_all
から
stringr
パッケージから、しかし
gsub
は同じように動作します。
正確な正規表現は、あなたが何をしようとしているかによります。 質問であげた特定の文字を削除すればいいのですが、すべての句読点を削除する方がはるかに簡単です。
x <- "a1~!@#$%^&*(){}_+:\"<>?,./;'[]-=" #or whatever
str_replace_all(x, "[[:punct:]]", " ")
(基本的なRの等価物は
gsub("[[:punct:]]", " ", x)
.)
別の方法として、英数字以外の文字をすべて入れ替えることもできます。
str_replace_all(x, "[^[:alnum:]]", " ")
文字や数字、句読点を構成するものの定義は、ロケールによって若干異なるので、正確に望むものを得るには少し実験する必要があるかもしれないことに注意してください。
関連
-
[解決済み] GNU sed の lookahead 正規表現がおかしいのですが?
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] C#のStringとstringの違いは何ですか?
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] なぜパスワードにはStringではなくchar[]が好まれるのですか?
-
[解決済み] Pythonには文字列の'contains'サブストリングメソッドがありますか?
-
[解決済み] JavaScriptでランダムな文字列/文字を生成する
-
[解決済み】JavaScriptで文字列の出現箇所をすべて置換する方法
-
[解決済み】大文字・小文字を区別しない「Contains(string)
-
[解決済み】オブジェクトからプロパティを削除する(JavaScript)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 正規表現による逆マッチ[重複]の場合
-
[解決済み] /bb|[^b]{2}/ どのように機能するのですか?[クローズド]
-
[解決済み] アポストロフィの正規表現
-
[解決済み] 浮動小数点数に対する正規表現
-
[解決済み] 正規表現の主題文字列で空白を無視するには?
-
[解決済み] 正規表現の末尾にある中括弧内のカンマ区切りの数字は何を意味するのですか?
-
[解決済み] スペースとタブの任意のシーケンスにマッチする正規表現を作成する方法
-
[解決済み] RegexにおけるOR条件
-
[解決済み] Powershellで完全一致の文字列のみを置換する
-
[解決済み] Githubの「ブランチ名パターン」の否定