簡體   English   中英

R中用空格替換字符並將字符串分成兩個單詞

[英]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.

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