我有一個字符串,我只想刪除換行符後面緊跟一個小寫字母。例如,我的字符串可能包含:刪除r中的某些正則表達式
的文本\ r \ n另一條線\ r \ NOF文本一行,
這將顯示爲:
一行的文字
另一行
的文字。
在這個例子中,我只是想去掉第二線斷裂,從而使文本行文:文本
文字的另一行的
一行
我知道模式是「\ r \ n [az]」,所以代碼應該是類似於
gsub("\r\n[a-z]","")
但我不能拿出代碼來刪除換行符,同時保留小寫字母。
謝謝!
我有一個字符串,我只想刪除換行符後面緊跟一個小寫字母。例如,我的字符串可能包含:刪除r中的某些正則表達式
的文本\ r \ n另一條線\ r \ NOF文本一行,
這將顯示爲:
一行的文字
另一行
的文字。
在這個例子中,我只是想去掉第二線斷裂,從而使文本行文:文本
文字的另一行的
一行
我知道模式是「\ r \ n [az]」,所以代碼應該是類似於
gsub("\r\n[a-z]","")
但我不能拿出代碼來刪除換行符,同時保留小寫字母。
謝謝!
我們可以使用正則表達式環視
txtN <- gsub("\r\n(?=[a-z])", "", txt, perl = TRUE)
cat(txtN, sep="\n")
# one line of text
# another line of text,
你可以達到你需要的東西,而不lookarounds和使用TRE正則表達式像
s <- "one line of text \r\n another line \r\nof text,"
res <- gsub("\r?\n([a-z])","\\1", s)
cat(res)
如果使用(...)
周圍的模式你定義了一個捕獲組你可以從replaceme中引用的內容nt模式。
圖案的詳細資料:
\r?\n
- 斷行(或者\r\n
或\n
)([a-z])
- 內第1組一個小寫字母ASCII。代用:
\1
- 編號反向引用到第1組的內容。更多有關:
PS:如果你是熱衷於使用PCRE正則表達式,還有比在先行另一個非常好的結構支持 - 匹配任何樣式換行符的\R
。然後,我會建議:
gsub("\\R(?=[a-z])", "", txt, perl = TRUE)
這工作完美!非常感謝您的幫助。 – nhoff