国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Regex > 正文

通過正則表達式刪除空行的方法

2020-03-16 21:06:53
字體:
來源:轉載
供稿:網友
我們的目標是要刪除文本中的空行,可能一行也可能是多行
 
 

我們的目標是要刪除文本中的空行,可能一行也可能是多行。
所以,我的操作如下:
通過正則表達式刪除空行的方法
在此,我們匹配空行用的是
(/r/n)*
這樣,就可以匹配多個空行,同時用null來替代,就可以實現刪除空行。此方案是基于對/r和/n的使用。

以前在網上看到一種實現是:
/n[/s| ]*/r
匹配之后,用null替代,也可以實現刪除空行,效果如下圖:
通過正則表達式刪除空行的方法
兩種方案都能實現相同的效果。

如果有其他的不同理解,請發表評論,大家共同進步。

我又做了以下測試,如下圖:
通過正則表達式刪除空行的方法
僅用了
/n/r
就完全實現了刪除所有的空行,因為在每一個空行的開頭和結尾都是
/n/r
所以,刪除了上一行之后,當前行還有一個/n/r,同樣能夠匹配上,所以,還要在做替代操作。這樣,就可以刪除所有的空行了。
那,如果是
/r/n,效果如何呢?
我又做了一下測試,效果如下圖:
通過正則表達式刪除空行的方法
這個就不是我們想要的結果.為什么呢?
我想,我們可以這樣理解,
C:/Program Files/Common Files/Relive.dll

C:/Program Files/Common Files/svchost.exe

C:/Program Files/Internet Explorer/msvcrt.bak 
C:/Program Files/Internet Explorer/msvcrt.dll

C:/Program Files/Internet Explorer/msvcrt.ebk

 

C:/WINNT/system32/drivers/npf.sys
C:/WINNT/system32/wpcap.dll
C:/WINNT/system32/Packet.dll
C:/WINNT/system32/WanPacket.dll

C:/Documents and Settings/User name/Local Settings/Temp/wmso.exe
C:/Documents and Settings/User name/Local Settings/Temp/BCG5.tmp

這個是原始文本,其實,在我們進行文本處理的時候,我們可以這樣把空行,用
/r/n(回車換行,先回車,后換行)
來替換掉.文本就是:
C:/Program Files/Common Files/Relive.dll/r/n/r/nC:/Program Files/Common Files/svchost.exe/r/n/r/nC:/Program Files/Internet Explorer/msvcrt.bak/r/nC:/Program Files/Internet Explorer/msvcrt.dll/r/n/nC:/Program Files/Internet Explorer/msvcrt.ebk/r/n/r/n/r/n/r/nC:/WINNT/system32/drivers/npf.sys/r/nC:/WINNT/system32/wpcap.dll/r/nC:/WINNT/system32/Packet.dll/r/nC:/WINNT/system32/WanPacket.dll/r/n/r/nC:/Documents and Settings/User name/Local Settings/Temp/wmso.exe/r/nC:/Documents and Settings/User name/Local Settings/Temp/BCG5.tmp/r/n/r/n/r/n

這一段文本是一個整體,沒有回車,沒有空隙和間隔,這是我們正在處理的文本,只不過回車換行是不可見字符,所以就不能看到,但是還是存在的.
所以,在處理的時候才會出現我們上面的情況.
有此,我們可以理解為什么
用/r/n匹配和替代后,
所有的/r/n都沒有了,所以,文本,就成為了一個連接的純字符文本了.
但是
/n/r
替換后,
中間的所有的/n/r都替代掉了,/r(/n/r……/n/r)/n,中間的部分都替代掉了。所以就剩最后的一個/r/n.

以上是我的一點理解。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 鱼台县| 乐陵市| 巫溪县| 五家渠市| 醴陵市| 泸水县| 吴川市| 密山市| 江口县| 四子王旗| 浑源县| 黄梅县| 库尔勒市| 怀化市| 略阳县| 北辰区| 宝坻区| 上林县| 泰州市| 寻甸| 嘉义市| 海原县| 宜昌市| 翁牛特旗| 湾仔区| 汶上县| 渝北区| 维西| 新晃| 建平县| 昭苏县| 丰镇市| 库伦旗| 阿拉尔市| 德化县| 孟州市| 定襄县| 宁乡县| 马龙县| 南涧| 长白|