[英]In R, How to use regular expression to split string?
假設我有一個文本格式如下(四個空格是一個制表符):
__spiritual_bouquet_1 _type_of __sympathy_card_1
我想通過選項卡將其拆分為:
__spiritual_bouquet_1
, _type_of
, __sympathy_card_1
我不知道如何使用正則表達式來拆分它。
用這個:
strsplit(subject, "\\s", perl=TRUE);
說明
\\s
匹配一個空格字符,表示空格,制表符和回車符。 我沒有使用制表符\\t
因為在示例字符串中我只發現了一個常規空格字符。
選項2:擺脫多余的下划線
我注意到您的某些標記在定界符附近有雙下划線。 如果要刪除多余的下划線,可以使用此正則表達式: \\s(?:_(?=_))?
在R中: strsplit(subject, "\\\\s(?:_(?=_))?", perl=TRUE);
在演示中 ,您可以看到我們如何只匹配下划線加倍的下划線。 我們在此分隔符上進行拆分。
這是如何工作的:
\\\\s
匹配空白字符 (?:_(?=_))?
是一個非捕獲組,由?
可選?
最后,該字符與下划線匹配,但前提是前瞻(?=_)
可以斷言以下字符為下划線 參考
要么
temp <- "__spiritual_bouquet_1 _type_of __sympathy_card_1"
strsplit(temp, " ")[[1]]
這將為您帶來一些額外的空結果。 因此,您可以做
strsplit(temp, " ")[[1]][strsplit(temp, " ")[[1]] != ""]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.