Board logo

標題: [分享] 一次刪除文章內多餘的空白 [打印本頁]

作者: 偉婕    時間: 2010-5-8 00:41     標題: 一次刪除文章內多餘的空白

本帖最後由 偉婕 於 2010-5-8 01:09 編輯

這個問題是網友來信問到的問題,在此貼出來供大家參考
1.[編輯]>[取代]
2.[尋找目標]後方輸入一個空白(就是按一個空白鍵)
3.[取代為]後面都不用輸入任何東西
4.按[全部取代]

文章中若有英文字,以上作法會使英文句子連在一起
想到的方法只有以下,不怎麼有效率,但可參考看看
1.先將[enter](即^p)用0取代
2.[尋找目標]輸入[!a-zA-Z0-9],即尋找中文字,[取代為]內不輸入
3.[尋找目標]輸入0,[取代為]輸入[^p]
若網友有更好的方法,歡迎分享!

註:於舊版2005-01-24發表
作者: 倉田透    時間: 2011-7-1 23:23

請問  將[enter](即^p)用0取代  中,^p是什麼意思呢
作者: 偉婕    時間: 2011-7-2 00:48

回復 3# 倉田透

^p 就是[段落標記],也就是按下Enter的意思
作者: Eugene    時間: 2011-7-2 09:54

回復 3# 倉田透


    若想知道更多方式:在"尋找及取代"對話框中央下方有個"更多▼(M)"的指令按鈕,按下後,對話框下方又多出"指定方式(E)▼"的指令按鈕。按下後可以得到更多的代碼方式。

[attach]6895[/attach]


版主的這秘訣對中英文交雜的處裡,真是好用的處裡方式及思考方向。謝謝!
作者: infoverdad    時間: 2011-7-13 21:35

請問[!a-zA-Z0-9]中 !代表的意義為何?
有查到[A-Za-z0-9]  代表大小寫字母和數字任選
作者: 偉婕    時間: 2011-7-14 20:01

回復 6# infoverdad

[!a-zA-Z0-9] 表示"排除"a-zA-Z0-9
作者: infoverdad    時間: 2011-7-14 20:05

回復 7# 偉婕


    原來如此,學習了!謝謝您!!
作者: oligo    時間: 2017-10-5 14:44

可試試看以下這個 Word VBA,
只刪除中文等全形字之間的空白,
不會刪除英文字之間的空白。
  1. Sub DeleteMiddleBlank()
  2.     ' Delete Middle Blanks:去除全形字間的單一空白
  3.    
  4.     ActiveDocument.Content.Select
  5.    
  6.     With Selection
  7.         .InsertParagraphBefore
  8.         Do While .Find.Execute(FindText:=" ")
  9.             If Asc(.Previous) < 0 Then     ' 若空白前為全形字
  10.                 If Asc(.Next) < 0 Then     ' 且空白後為全形字
  11.                     .Delete
  12.                 End If
  13.             End If
  14.         Loop
  15.     End With
  16.    
  17.     With ActiveDocument.Range(0, 0)
  18.         .Delete
  19.         .Select
  20.     End With
  21.    
  22. End Sub
複製代碼





歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)