R語言學習筆記(二十一):字符串處理中的元字符(代碼展示)


元字符有自己的特殊含義

  • [ ]內的任意字符將被匹配
grep(pattern = "[wW]", x = states, value = T)
grep(pattern = "w", ignore.case = T, x = states, value = T)
  • \對元字符進行轉義
strsplit("strsplit.also.uses", split = ".")
strsplit("strsplit.also.uses", split = "\\.")
str_extract_all("me credit card: 334", pattern = "\\d")
  • ^匹配字符串的開頭,將^置於character class 的首位表達的意思是取反義。如[ˆ5] 表示匹配除了“5” 以外的所有字符。
test_vector <- c("123","456","321")
str_extract_all(test_vector, "3")
str_extract_all(test_vector, "^3")
str_extract_all(test_vector, "[^3]")
  • $匹配字符串的結尾。但將它置於character class 內則消除了它的特殊含義。如 [akm$]將匹配 a , k , m 或者 $
str_extract_all(test_vector, "3$")
str_extract_all(test_vector, "[3$]")
  • .匹配除換行符以外的任意字符。
str_extract_all(string = c("regular.exp\n","\n"), pattern =".")
  • | 或者
str_extract_all(string = "we23", pattern ="b|w|3")
  • ?此符號前的字符(組) 是可有可無的,並且最多被匹配一次
str_extract_all(string = c("abc","bc","ac"),pattern = "ab?c")

  • ( )表示一個字符組,括號內的字符串將作為一個整體被匹配
str_extract_all(string = c("abc","ac","cde"),pattern = "(ab)c")
  • *此符號前的字符(組) 將被匹配零次或多次
str_extract_all(string = c("abab","abc","ac"),pattern = "(ab)*")
  • +前面的字符(組) 將被匹配一次或多次
str_extract_all(string = c("abbab","abc","ac"),pattern = "ab+")
  • {n,m} 重復n次到m次
str_extract_all(string = c("abababab","ababc","abc"),pattern = "(ab){2}")
str_extract_all(string = c("abababab","ababc","abc"),pattern = "(ab){2,}")
str_extract_all(string = c("abababab","ababc","abc"),pattern = "(ab){2,3}")


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM