[英]remove alphanumeric with 2 alphabets followed by 2 digits
a <- c("it is ZZ10ASDJN123 and ZZ100DD22")
如何刪除以前 2 個字母開頭的單詞,然后是 2 位數字,而不是刪除超過 2 + 位數字的任何字母數字。
預期輸出:
"it is and ZZ100DD22"
此代碼僅刪除數字。 請幫助我獲得預期的輸出。
gsub('[[:digit:]]+', '', a)
您可以使用
gsub("\\s*\\b[A-Za-z]{2}\\d{2}(?!\\d)\\w*\\b", "", a, perl=TRUE)
請參閱正則表達式演示。 替代:
gsub("\\s*\\b[A-Za-z]{2}\\d{2}[A-Za-z_]\\w*\\b", "", a)
細節
\\s*
- 0 個或多個空白字符\\b
- 單詞邊界[A-Za-z]{2}
- 兩個 ASCII 字母(使用\\p{L}
匹配任何 Unicode 字母)\\d{2}
- 兩位數(?!\\d)
- 右邊不能有數字\\w*
- 0 個或多個字母、數字或下划線\\b
- 字邊界。 在正則表達式的開頭添加(*UCP)
以使其完全識別 Uniocde。
R演示:
a <- c("it is ZZ10ASDJN123 and ZZ100DD22")
gsub("\\s*\\b[A-Za-z]{2}\\d{2}(?!\\d)\\w*", "", a, perl=TRUE)
## => [1] "it is and ZZ100DD22"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.