Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
888 views
in Technique[技术] by (71.8m points)

regex - Split string into substrings on one or more whitespaces

I want to split a string into several substrings at those positions where one or more whitespaces (tab, space,...) occur. In the documentation of strsplit() it says, that split is interpreted as a regular expression.

Thus i tried the following, which did not work:

test = "123 nnn      dddddd"
strsplit(test, "[:space:]+")

it only returned:

[[1]]
[1] "123 nnn      dddddd"

but should return:

[[1]]
[1] "123" "nnn" "dddddd"

Whats wrong in my code?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Try

strsplit(test, '\s+')
[[1]]
[1] "123"    "nnn"    "dddddd"

\s will match all the whitespace characters.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...