我有一个字符串thisLine,其中包含由空格分隔的11个数字.我想获得第一个数字.我试过这个命令:
grep('\\d*\\.\\d*',thisLine,value=TRUE)
Run Code Online (Sandbox Code Playgroud)
它返回整个字符串,而不是第一个数字.我如何只返回第一个数字?
我相信有很多可能性,这里有一些我会考虑:
thisLine <- paste(runif(11), collapse = " ")
thisLine
# [1] "0.841216114815325 0.861485596280545 0.973681036382914 0.683699210174382 0.95226536039263 0.368689567316324 0.173984130611643 0.497511914698407 0.870743532432243 0.45606177020818 0.222731305286288"
sub("\\s+.*", "", thisLine) # assumes no leading space
sub("\\s*(\\S+?)\\s.*", "\\1", thisLine) # handles leading spaces
strsplit(thisLine, " ")[[1]][1] # more flexible if you want 2nd, 3rd, ...
Run Code Online (Sandbox Code Playgroud)
所有给予
# [1] "0.841216114815325"
Run Code Online (Sandbox Code Playgroud)