Rの正規表現にストアド変数を使用することはできますか?ですか?
たとえば、次の文字列の10進数の引用符を削除したいとします。s = "\"Bob\",\"1\",\"Mary\",\"2\""
- ほとんどの言語でsub("\"(\d)\"","$1",s)
のようなことができますが、Rの機能が見つからないようです。
また、副質問として、Rは\d
をサポートしていますか? (それは私がそれを試してみるとエラーをスローする)ありがとう
Rの正規表現にストアド変数を使用することはできますか?ですか?
たとえば、次の文字列の10進数の引用符を削除したいとします。s = "\"Bob\",\"1\",\"Mary\",\"2\""
- ほとんどの言語でsub("\"(\d)\"","$1",s)
のようなことができますが、Rの機能が見つからないようです。
また、副質問として、Rは\d
をサポートしていますか? (それは私がそれを試してみるとエラーをスローする)ありがとう
これは通常、逆参照と呼ばれると考えています。 Rでは、あなたは、私は、一般的にちょうどI以来、とにかく[0-9]を使用して、私はR.で\ dのサポートについてはよく分からないなど
re.examples <- c(
'What_are_we_doing?',
'Woe, that a young fowl should fly the coop',
'2011/12/24',
'Subject: More information, then less important stuff.'
)
sub("([0-9]+)/([0-9]+)/([0-9]+)","Year is \\1 Month is \\2 Day is \\3",re.examples[3])
sub("^([A-Za-z ]+): ([A-Za-z ]+), ([A-Za-z ]+).$","\\2",re.examples[4])
\\ 1 \\ 2を、使用することができますそれが動作することを知って、私はそれを読むのが簡単だと分かります。
編集:@Andrieと@Richie Cottonはコメントで2つの提案を提供しましたが、ここでは完全性のためにここに含めます。 [:digits:]は機能しますが、私の心には[0-9]より読みやすさはほとんどありません。 \\ dも同様に動作します。
驚くばかり!どうもありがとう – Michael
はい、Rは '\ d'をサポートしますが、\をエスケープして' \\ d 'と書く必要があります。 – Andrie
'[:digits:]'を使用して数字を照合することもできます。 –