2
我有許多可以用下列模式表示的列名稱。用R中的正則表達式替換數字前面的字符
dat <- c("Male97","Male98","Male99", "Male100andover","Female0","Female1" ,"Female2", "Female3", "Female4" ,"Female5", "Female100andover")
我想添加一個前面的分隔符例如使用正則表達式的字母和數字字符之間的短劃線。
我想要的輸出是,例如,Male-97
或Female-0
。但是,我不希望在'100及以上'的情況下在數字字符後面插入分隔符。
我曾嘗試以下的正則表達式:
gsub('([e])[0-9]', '-', dat)
它幾乎工程。我需要一些不能用短劃線代替'e'的東西。
有人可以幫我一起這個請。
感謝,這幾乎是我所需要的,這是很好的解釋。一如既往,邊緣情況是問題所在。你知道如何處理'100andover'案件嗎?在使用您的示例之前,我可以執行兩步gsub並清理它們。儘管如此,一步就很棒。 – John
如果你消除了'$',你會得到如下結果:''女-100andover'''。這是你需要的嗎? –
只需一秒鐘,是否意味着'Female100andover'應該變成'Female-100andover'?那麼'Female100and200over'呢? –