<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    zhyiwww
    用平實(shí)的筆,記錄編程路上的點(diǎn)點(diǎn)滴滴………
    posts - 536,comments - 394,trackbacks - 0

    我們的目標(biāo)是要?jiǎng)h除文本中的空行,可能一行也可能是多行。
    所以,我的操作如下:
    reg3.PNG
    在此,我們匹配空行用的是
    (\r\n)*
    這樣,就可以匹配多個(gè)空行,同時(shí)用null來替代,就可以實(shí)現(xiàn)刪除空行。此方案是基于對(duì)\r和\n的使用。

    以前在網(wǎng)上看到一種實(shí)現(xiàn)是:
    \n[\s| ]*\r
    匹配之后,用null替代,也可以實(shí)現(xiàn)刪除空行,效果如下圖:
    reg4.PNG
    兩種方案都能實(shí)現(xiàn)相同的效果。

    如果有其他的不同理解,請(qǐng)發(fā)表評(píng)論,大家共同進(jìn)步。

    我又做了以下測(cè)試,如下圖:
    reg5.PNG
    僅用了
    \n\r
    就完全實(shí)現(xiàn)了刪除所有的空行,因?yàn)樵诿恳粋€(gè)空行的開頭和結(jié)尾都是
    \n\r
    所以,刪除了上一行之后,當(dāng)前行還有一個(gè)\n\r,同樣能夠匹配上,所以,還要在做替代操作。這樣,就可以刪除所有的空行了。
    那,如果是
    \r\n,效果如何呢?
    我又做了一下測(cè)試,效果如下圖:
    reg6.PNG
    這個(gè)就不是我們想要的結(jié)果.為什么呢?
    我想,我們可以這樣理解,
    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

    這個(gè)是原始文本,其實(shí),在我們進(jìn)行文本處理的時(shí)候,我們可以這樣把空行,用
    \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

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

    以上是我的一點(diǎn)理解。



    |----------------------------------------------------------------------------------------|
                               版權(quán)聲明  版權(quán)所有 @zhyiwww
                引用請(qǐng)注明來源 http://www.tkk7.com/zhyiwww   
    |----------------------------------------------------------------------------------------|
    posted on 2007-09-18 10:26 zhyiwww 閱讀(27356) 評(píng)論(11)  編輯  收藏 所屬分類: 正則表達(dá)式

    FeedBack:
    # re: 正則表達(dá)式刪除空行
    2008-10-01 14:10 | lanmuz
    {因?yàn)樵诿恳粋€(gè)空行的開頭和結(jié)尾都是。。。}

    高明,可見作者其理解之 深,思維之巧。
    妙哉  回復(fù)  更多評(píng)論
      
    # re: 正則表達(dá)式刪除空行
    2009-05-07 17:36 | 22
    你這是什么正則,用在js上不靈光的  回復(fù)  更多評(píng)論
      
    # re: 正則表達(dá)式刪除空行
    2010-05-09 21:13 | 牙牙學(xué)語
    謝謝你的文章,受教啦
    我用RegexBuddy測(cè)過了,無論Javascript還是Java語言,\n\r都可以去除純粹的空行,即一行中從行頭到行尾只有\(zhòng)n\r(不包含空格和制表位這樣的空白位)。
    對(duì)于含有空格或制表位的“空”行,\n[\s| ]*\r可以全部去除。  回復(fù)  更多評(píng)論
      
    # re: 正則表達(dá)式刪除空行[未登錄]
    2010-06-24 12:11 | test
    你的方法很明顯不對(duì), 不知道你怎么測(cè)試的。。  回復(fù)  更多評(píng)論
      
    # re: 正則表達(dá)式刪除空行
    2011-08-03 09:02 | ethanq
    如果只是刪除空行,而不刪除下一行前邊的空格,還保持原格式,只是刪除其中的空行,不讓都左對(duì)齊。我記得好像有個(gè)[],有個(gè)做的到。  回復(fù)  更多評(píng)論
      
    # re: 正則表達(dá)式刪除空行[未登錄]
    2011-08-16 16:31 | bob
    javascript可以通過。

    程序沒有問題  回復(fù)  更多評(píng)論
      
    # re: 正則表達(dá)式刪除空行
    2012-02-22 23:48 |
    看君一帖勝讀好多天的書啊,謝謝。  回復(fù)  更多評(píng)論
      
    # re: 正則表達(dá)式刪除空行[未登錄]
    2013-04-15 16:27 | 劉偉
    不錯(cuò)!支持了  回復(fù)  更多評(píng)論
      
    # re: 正則表達(dá)式刪除空行
    2013-06-08 16:36 | QQ46984344
    我想知道怎么用這個(gè)工具寫個(gè)正則表達(dá)式來刪除文本里邊的漢字和特殊符號(hào) 只保留英文字母  回復(fù)  更多評(píng)論
      
    # re: 我的經(jīng)驗(yàn)正則表達(dá)式刪除空行[未登錄]
    2015-01-28 10:29 | john
    我正在匹配的空行用網(wǎng)上各種方法仍然不行,可能含有特殊字符,只好自己想,用下列方法可以匹配任意特殊看不到文字的空行(^\s*|\s*|\s*$),不敢自己享用,與大家分享  回復(fù)  更多評(píng)論
      
    # re: 正則表達(dá)式刪除空行
    2015-04-23 20:31 | softy
    不管是\n\r 還是 \n[\s| ]*\r,都無法刪除文件開始的空行,算個(gè)bug吧  回復(fù)  更多評(píng)論
      
    主站蜘蛛池模板: 伊人久久大香线蕉免费视频| 亚洲日产韩国一二三四区| 日韩精品免费视频| 偷自拍亚洲视频在线观看99| 亚洲精品亚洲人成在线观看麻豆| 亚洲精品第一国产综合境外资源| 4虎1515hh永久免费| 两个人看的www视频免费完整版| 亚洲AV成人精品日韩一区| 亚洲精品国产福利在线观看| 亚洲熟妇丰满多毛XXXX| 国产一区二区三区在线免费观看| 国产免费毛不卡片| 100部毛片免费全部播放完整| 91成人免费观看在线观看| 成人午夜免费视频| 色窝窝亚洲AV网在线观看| 在线综合亚洲欧洲综合网站| 亚洲男女性高爱潮网站| 久久久婷婷五月亚洲97号色| 国产AV无码专区亚洲AV漫画| 免费A级毛片无码A∨男男| 精品无码国产污污污免费| 大地资源免费更新在线播放| 国产精品久久久久久久久免费| 男人进去女人爽免费视频国产| 中文字幕无线码免费人妻| 一道本在线免费视频| 免费在线观看一区| 污视频网站在线观看免费| 精品女同一区二区三区免费播放 | 女bbbbxxxx另类亚洲| 亚洲午夜无码久久久久软件| 亚洲首页国产精品丝袜| 亚洲色欲色欲www| 亚洲粉嫩美白在线| 亚洲色丰满少妇高潮18p| 亚洲精品无AMM毛片| 男女猛烈xx00免费视频试看| 免费的黄网站男人的天堂| 草久免费在线观看网站|