R:如何将字符串拆分成多个部分
R: How to split string into pieces
我正在尝试拆分大量字符串,如下所示:
x = "�[=10=]1�[=10=]1�[=10=]1�[=10=]1�[=10=]1[=10=]2CN�[=10=]1\bShandong�[=10=]1[=10=]4Zibo�[=10=]2$ABCDEFGHIJK�[=10=]2\aIMG_HAS�[=10=]2�[=10=]2�[=10=]2�[=10=]2�[=10=]2�[=10=]2�[=10=]2�[=10=]2413165537405763268743�[=10=]2[=10=]1�[=10=]2�[=10=]2�[=10=]2�[=10=]3�[=10=]3�[=10=]3����[=10=]5�[=10=]3�[=10=]3�[=10=]3�[=10=]3"
分成四块
'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"
我正在尝试拆分大量字符串,如下所示:
x = "�[=10=]1�[=10=]1�[=10=]1�[=10=]1�[=10=]1[=10=]2CN�[=10=]1\bShandong�[=10=]1[=10=]4Zibo�[=10=]2$ABCDEFGHIJK�[=10=]2\aIMG_HAS�[=10=]2�[=10=]2�[=10=]2�[=10=]2�[=10=]2�[=10=]2�[=10=]2�[=10=]2413165537405763268743�[=10=]2[=10=]1�[=10=]2�[=10=]2�[=10=]2�[=10=]3�[=10=]3�[=10=]3����[=10=]5�[=10=]3�[=10=]3�[=10=]3�[=10=]3"
分成四块
'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"