私はこのような文字列を持っています
x<-c("This is a test (120)")
テキストがこのようになるように、 test と ( の間の空白を置き換える必要があります
x<-c("This is a test(120)")
私はこれを試しました
s<-gsub("\t\v\(", "", x)
機能しません。ご意見をいただければ幸いです。
私はこのような文字列を持っています
x<-c("This is a test (120)")
テキストがこのようになるように、 test と ( の間の空白を置き換える必要があります
x<-c("This is a test(120)")
私はこれを試しました
s<-gsub("\t\v\(", "", x)
機能しません。ご意見をいただければ幸いです。
先読みを使用する:
gsub("\\s+(?=\\()", "", x, perl=TRUE)
[1] "This is a test(120)"
答えは、必要な仕様によって異なります。左括弧の前のすべてのスペースを削除しますか? それとも1つだけ?それとも、数字を含む括弧の前だけですか?
簡単な方法の 1 つは、次のように使用fixed = TRUE
することです。
gsub(" (", "(", x, fixed = TRUE)
また:
gsub(" \\(", "\\(", x)
R では「ダブル エスケープ」する必要があります。1 つは R 用、もう 1 つは正規表現用です。
s <- gsub('\\s\\(', '(', x)
とはいえ、特定のユースケースによっては、これをより堅牢にしたい場合があります。
s <- gsub('(.+) \\((.+)\\)', '\\1(\\2)', x)