-4
我正在尋找R中的正則表達式來替換2個字母字符之間的數字。例如,m
取代3
,像這樣:正則表達式來替換R中的字母數字
Sa3ple
成爲Sample
Sample1.3
保持Sample1.3
- 這個詞statys一樣的,因爲3不是字母字符之間
我試着用下面的R代碼替換3
與m
,但它只是部分工作。
一個問題是,如果正則表達式匹配,而不是替換匹配的行,每次它從col3
替換第一行。不知道,究竟錯過了什麼。
df$col3[grep('[a-zA-Z][3][a-zA-Z]|[3][a-zA-Z]',df$col3)] <- gsub('[3]+', 'm', df$col3)
請做研究的最小量 - 明碼寫請求不被好評這裏。請參閱[參考 - 這個正則表達式是什麼意思](https://stackoverflow.com/q/22937618/205233) – Filburt
我可以寫你的代碼,但這會教你,我們只會給你答案,沒有你顯示證明嘗試過任何東西。相反,我會向您介紹完成此任務所需的所有信息。 '(''''在關閉它時關閉它(語法是'(...)',其中省略號顯然被* something *取代,您要捕獲)。 '\ w'匹配任何*字*字符,'\ d'匹配任何*數字*。 「+」是一個量詞,用於指定匹配應該包含1和前一個字符選擇的無限制。 – ctwheels
爲了繼續我以前的評論,在正則表達式替換'$'後跟一個數字指向一個捕獲組。所以如果你有一個捕獲組(')','$ 1'將指向捕獲的內容。如果您嘗試編寫一些正則表達式並更新問題,則更有可能得到正確的回答,因爲它表明您已嘗試過**。畢竟,我們爲什麼要試圖幫助那些甚至不會嘗試自己的人呢?顯示試驗和錯誤的證據,你會得到你的答案。 – ctwheels