2

スペースで区切られた11個の数字を含む文字列thisLineがあります。最初の番号だけを取得したい。私はコマンドを試しました:

grep('\\d*\\.\\d*',thisLine,value=TRUE)

最初の数値ではなく、文字列全体を返します。最初の番号だけを返すにはどうすればよいですか?

4

2 に答える 2

6

私はたくさんの可能性があると確信しています、ここに私が考えるいくつかがあります:

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, ...

すべて与える

# [1] "0.841216114815325"
于 2012-12-22T14:29:12.267 に答える