qstring去掉特定字符_如何花式、批量且操作简单地处理字符?
對于花式批量處理,自然要說到正則表達式。
“正則表達式是對字符串操作的一種邏輯公式,就是用事先定義好的一些特定字符、及這些特定字符的組合,組成一個“規則字符串”,這個“規則字符串”用來表達對字符串的一種過濾邏輯”——百度百科。這適用于有編程基礎、且較為復雜的處理需求。
還有一個簡單點、易操作的方法,那就是通配符。
? EXCEL通配符??
對于EXCEL,沒有特別的通配符,跟Windows文件搜索可以使用的通配符一樣,主要是* 和?,分別代表多個字符和一個字符。如果要分別搜索*和?本身,前面加個~就行。如:搜索“張*”,就能搜到“張三”和“張三豐”,而搜索“張??”并且點單元格匹配,就不能搜到“張三”了。
這些通配符可以在部分函數中使用,如sumif。各位遇到需要文本匹配的時候,可以想一想和試一試看可否用通配符。
那么看一個例子吧:有如下的公交線路名數據,是帶方向的。現在需要將方向去掉,也就是去掉最右邊的括號內容。但是,注意有些是括號內部還有括號——比如第3條,這時需要將內部的一起刪掉;有些是有兩個并列的括號——比如第5條,這時只需要刪掉最右邊的括號。
EXCEL的通配符顯然不能解決。用正則當然可以,但可能編程要求略高、略復雜了。那么——就用WORD通配符試試吧。
? WORD通配符??
作為一個文本處理工具,通配符的強大想想也理所應當了。WORD通配符的功能與用法介紹網上很多。推薦看這篇就夠了:https://www.cnblogs.com/whchensir/p/5768030.html簡單來說,它可以通過一定方法對數字、字母、中文字符進行識別查找,還有各種控制功能組合使用,比如控制指定位置指定字符的數量。
最重要的是,可以在“替換”框中 用\1\2\3分別代表“查找”框中的第1、2、3個()中的內容,注意括號要為英文字符狀態下的。
例如:
“查找”中輸入:(張三)是(法外狂徒)
“替換”中輸入:\2是\1 ?
勾選“使用通配符”,以下都需要。
點替換,結果就能把“張三是法外狂徒”變成“法外狂徒是張三”了。
那么針對前文提出的問題,給出WORD通配符解決方法。
第一步:
將有兩個并列括號的,去掉右邊的括號,并將左邊的括號變成~。如“101路(A)(B)”替換為“101路~A~”
操作內容
查找:\((*)\)(\(*\))替換:~\1~解釋
查找中\(是代表(本身,因為括號本身有通配符的含義,所以要用\來轉義——也就相當于EXCEL的~。
隨后(*)表示第1個括號內容,用于在替換中指代。\)同樣代表)本身。(\(*\))外層的括號代表第2個括號內容,用于在替換中指代,沒有就相當于刪除。同樣的,\(*\)代表括號本身和中間的任意內容——因為觀察得知文本中的兩個括號的情況都是括號相連的。第二步:
將括號內還有括號的刪除。
操作內容
查找:\(*\(*\)*\)
替換:
各位可以理解下,就不再贅述。第三步:
將帶括號的刪除
操作內容
查找:\(*\)
替換:
前期由于已經將不應該刪的括號變成了~,所以可以把帶括號的內容刪除。
第四步:
將~恢復為正常的括號。
操作內容
查找:~(*)~
替換:(\1)
這樣就基本實現了需求了。可能還會有 少數 一個括號 里面有 兩個括號的情況 (() () ) ,數量比較少,手動改下好了。
? 真批量化 ?
你是否覺得,以上還是不算批量,頂多算是半自動化步槍?而你要的是——機關槍。可以可以。大概各位還不知道,WORD也可以記錄宏的,與EXCEL一樣,位置在“視圖”——“宏”——錄制“宏”。
不知道的原因是,WORD錄制宏應用場景確實比較少,但是以上把WORD作為工具來用了,就非常適合用宏來批量操作,畢竟,你可能要重復使用上述過程很多次。下次只需要把原數據刪除新數據進來,再點擊錄好的宏就好了。
機關槍拿走,下期再見。
總結
以上是生活随笔為你收集整理的qstring去掉特定字符_如何花式、批量且操作简单地处理字符?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: xmind 8 pro中文版下载
- 下一篇: kindeditor用法简单介绍(转)