[英]Replacing a character with a space and dividing the string into two words in R
我有一個數據框,其中包含一列,其中包含用分號分隔的字符串,后跟一個空格。 但不幸的是,在某些字符串中,分號后面沒有空格。
在這種情況下,這就是我想要做的:如果分號后面有一個空格,我們不需要更改。 但是如果分號前后有字母,我們應該用空格換分號
我有這個:
datacolumn1
row 1 knowledge; information; data
row 2 digital;transmission; interoperability; data labeling
row 3 library catalogs; libraries; mobile;libraries
我需要這個輸出:
datacolumn1
row 1 knowledge; information; data
row 2 digital transmission; interoperability; data labeling
row 3 library catalogs; libraries; mobile libraries
嘗試類似:
library(stringr)
str_replace_all(datacolumn1, "(\\w);(\\w)", "\\1 \\2")
這可能是一個更簡潔的正則表達式,但這行得通!
您可以使用此正則表達式選擇“;” 不以空格開頭或結尾,然后用空格替換它:
(?<!\s);(?!\s)
(?<!\\s) :否定后視檢查是否不是由空格或 \\n 或 \\t 引導
(?!\\s) : 否定前瞻以檢查后面是否沒有空格或 \\n 或 \\t
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.