如何解决R:如何将字符串拆分成碎片
我正在尝试拆分成吨的字符串,如下所示:
x = "�\001�\001�\001�\001�\001\002CN�\001\bShandong�\001\004Zibo�\002$ABCDEFGHIJK�\002\aIMG_HAS�\002�\002�\002�\002�\002�\002�\002�\002\02413165537405763268743�\002\001�\002�\002�\002�\003�\003�\003����\005�\003�\003�\003�\003"
分成四份
'CN','Shandong','Zibo','ABCDEFGHIJK'
我试过了
stringr::str_split(x,'\\00.')
输出原点 x
。
还有,
trimws(gsub("�\\00?","",x,perl = T))
只删除未知字符 �
。
有人可以帮我解决这个问题吗?感谢您这样做。
解决方法
你可以试试 str_extract_all
:
stringr::str_extract_all(x,'[A-Za-z_]+')[[1]]
[1] "CN" "Shandong" "Zibo" "ABCDEFGHIJK" "IMG_HAS"
以 R 为基础:
regmatches(x,gregexpr('[A-Za-z_]+',x))[[1]]
这里我们提取所有带有大写、小写或下划线的单词。其他所有内容都将被忽略,因此 �\\00?
之类的字符不会出现在最终输出中。
我们可以使用 strsplit
中的 base R
setdiff(strsplit(x,"[^A-Za-z]+")[[1]],"")
#[1] "CN" "Shandong" "Zibo" "ABCDEFGHIJK" "IMG" "HAS"
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。