簡體   English   中英

如何在“ |”分隔符上得到正確的結果?

[英]how can i get right result at the seperator of “|”?

我想分割一個字符串。

str <- "3 |6 | 9 | 12" 
unlist(strsplit(str,split="|")) 
[1] "3" " " "|" "6" " " "|" " " "9" " " "|" " " "1" "2"

如何獲得結果“ 3 6 9 12”?

我實際上會放棄strsplit而只使用scan的東西。

> str <- "3 |6 | 9 | 12" 
> str
[1] "3 |6 | 9 | 12"
> scan(text = str, sep = "|")
Read 4 items
[1]  3  6  9 12

如果您想要一個包含所有四個子字符串的向量,則可以使用:

str <- "3 |6 | 9 | 12" 

strsplit(str, " *\\| *")[[1]]
# [1] "3"  "6"  "9"  "12"

在這里, " *"表示任意數量的空格

需要注意的是| 表示以正則表達式表示。 您必須使用雙轉義符進行文字解釋,即\\\\|

使用gsub替換'|' 通過“空”。 (使用“ fixed = TRUE”,因此“ |”是要按原樣匹配的字符串,而不是正則表達式中使用的“ |”)

str <- "3 |6 | 9 | 12" 
> gsub("|", "", str, fixed = TRUE)
[1] "3 6  9  12"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM