我有兩個字符串,a <- "AERRRTX"; b <- "TRRA"
。提取兩個字符串之間不同的字符
我想提取a
的字符b
沒有使用,即「ERX」
我試着在Extract characters that differ between two strings答案,它採用setdiff
。它返回「EX」,因爲b
的確有「R」,並且setdiff
將消除a
中的所有三個「R」。我的目標是將每個角色作爲不同的角色來處理,因此只有a
中的三個R中的兩個應該被刪除。
我可以用什麼建議而不是setdiff
或其他一些方法來實現我的輸出?
小點:這是明智的避免分配'c',因爲它是一個常用的內置函數。如果'c'是在任何封閉環境中定義的變量,則對該標識符的引用可以綁定到它,這可能會弄亂很多代碼。例如,在這種情況下'do.call(c,...)'失敗。 – bgoldst
@bgoldst你是對的。更新。謝謝! –
不錯的選擇。你可以用'a1 [-pmatch(b1,a1)]'替換你的第三行。另外,注意「pmatch」的「duplicates.ok = FALSE」參數會很有用,它將它的行爲區分爲「匹配」 –