文字と数字が混在する文字列があります。
"The sample is 22mg"
次のように、数字の直後に文字が続く文字列を分割したいと思います。
"The sample is 22 mg"
私はこれを試しました:
gsub('[0-9]+[[aA-zZ]]', '[0-9]+ [[aA-zZ]]', 'This is a test 22mg')
しかし、望ましい結果が得られていません。
助言がありますか?
正規表現ではキャプチャ括弧を使用し、置換ではグループ参照を使用する必要があります。例えば:
gsub('([0-9])([[:alpha:]])', '\\1 \\2', 'This is a test 22mg')
ここにはR固有のものはありません。regex
Rは、ある程度役立つgsub
はずです。
逆参照が必要です:
test <- "The sample is 22mg"
> gsub("([0-9])([a-zA-Z])","\\1 \\2",test)
[1] "The sample is 22 mg"
括弧内はすべて記憶されます。次に、\ 1(括弧内の最初のエンティティの場合)、\ 2などによってアクセスされます。最初の円記号は、Rでの円記号の解釈をエスケープして、正規表現パーサーに渡されます。