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
444 views
in Technique[技术] by (71.8m points)

csv - How to get the first 10 words in a string in R?

I have a string in R as

x <- "The length of the word is going to be of nice use to me"

I want the first 10 words of the above specified string.

Also for example I have a CSV file where the format looks like this :-

Keyword,City(Column Header)
The length of the string should not be more than 10,New York
The Keyword should be of specific length,Los Angeles
This is an experimental basis program string,Seattle
Please help me with getting only the first ten words,Boston

I want to get only the first 10 words from the column 'Keyword' for each row and write it onto a CSV file. Please help me in this regards.

See Question&Answers more detail:os

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

1 Reply

0 votes
by (71.8m points)

Regular expression (regex) answer using w (word character) and its negation W:

gsub("^((\w+\W+){9}\w+).*$","\1",x)
  1. ^ Beginning of the token (zero-width)
  2. ((\w+\W+){9}\w+) Ten words separated by not-words.
    1. (\w+\W+){9} A word followed by not-a-word, 9 times
      1. \w+ One or more word characters (i.e. a word)
      2. \W+ One or more non-word characters (i.e. a space)
      3. {9} Nine repetitions
    2. \w+ The tenth word
  3. .* Anything else, including other following words
  4. $ End of the token (zero-width)
  5. \1 when this token found, replace it with the first captured group (the 10 words)

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

...