Excel俠應(yīng)當(dāng)掌握的正則技巧

洗澡時(shí)總會(huì)有靈感蹦出场躯,但是程先生耐不了淋浴的悶熱,于是也早早地蹦出了衛(wèi)生間旅挤。

原本這次打算分享PDF轉(zhuǎn)Word的萬(wàn)能神器踢关,但是被淋浴沖昏頭腦之后,還是趁熱在空調(diào)下科普本次的洗白白靈感:如何用正則表達(dá)式輔助Excel進(jìn)行數(shù)據(jù)預(yù)處理粘茄。

啥签舞,有點(diǎn)語(yǔ)無(wú)倫次?柒瓣!

Excel蝦/俠應(yīng)該知道儒搭,從txt文件中,直接拷貝以“Tab制表符(看芙贫,人家名字就叫制表符)”分隔的文本到Excel之后搂鲫,數(shù)據(jù)會(huì)老老實(shí)實(shí)、規(guī)規(guī)矩矩按行列落在它本應(yīng)所處的位置磺平。

TXT拷貝文本至Excel

但如果數(shù)據(jù)本身并非以Tab制表符分隔魂仍,可能是以逗號(hào)分隔(Excel所兼容的.csv文件倒是支持以英文逗號(hào)分隔數(shù)據(jù)列),也可能是以(多個(gè))空格分隔拣挪,或者文本行是更為復(fù)雜的JSON數(shù)據(jù)格式(額擦酌,這個(gè)怎么解釋呢,大家就理解為長(zhǎng)得很“丑”的文本數(shù)據(jù)吧菠劝,類似這種:{ "firstName": "Xiansheng", "lastName":"Chen", "email": "idealRetail@163.com" })赊舶;又或者說(shuō),你想以某種文本規(guī)律去處理(提取闸英、清除)文本行數(shù)據(jù)锯岖,例如把如圖所示文本中的“第X大美食”給清除掉;還有其它很多種復(fù)雜的場(chǎng)景(夜深腦癱甫何,程先生一時(shí)半會(huì)兒舉不動(dòng)栗子啦)出吹,特別是你從網(wǎng)上拷貝、下載辙喂、抓取了某些數(shù)據(jù)捶牢,你又不會(huì)編程處理或者說(shuō)沒(méi)有程序員男朋友時(shí)鸠珠,正則表達(dá)式將會(huì)是你清洗數(shù)據(jù)的一大利器。

栗子

好啦秋麸,進(jìn)入實(shí)操階段:
首先下載個(gè)支持正則表達(dá)式的文本編輯器渐排,例如EditPlus(推薦)、Ultraedit灸蟆、Sublime等驯耻,然后拖入文本文件到編輯器內(nèi)打開(kāi)文件之后按Ctrl+H就可以進(jìn)行正則查找、替換啦炒考。EditPlus的操作界面如下:

EditPlus界面

正則表達(dá)式(Regular Expression)可缚,又稱規(guī)則表達(dá)式,因此斋枢,它有一系列的規(guī)則帘靡,有人還把它寫(xiě)成了比拳頭還厚的書(shū)- -,因此今天的科普文章不可能覆蓋所有的case瓤帚。程先生拋磚引玉描姚,舉例說(shuō)明常見(jiàn)的情景吧。

  1. 連續(xù)的空格替換為Tab制表符(這樣戈次,拷貝到Excel中的文本就不會(huì)擠在同一格啦):
    Find: [ ]*
    Replace: \t
  2. 以句號(hào)作為行末進(jìn)行換行(比如對(duì)詩(shī)歌文本進(jìn)行格式化處理轩勘,每一行都是完整的一句話):
    Find: 。
    Replace: 朝扼。\n
  3. 如上所述赃阀,清除所有“第X大美食:”文字:
    Find: 第.*大美食:
    Replace:
  4. 查找所有的電話號(hào)碼/手機(jī)號(hào)碼:
    Find: [0-9]{11} (手機(jī)號(hào)碼:xxxxxxxxxxx)
    Find: [0-9]{3,4}-[0-9]{8} (座機(jī):xxxx-xxxxxxxx)
  5. 把上述的JSON數(shù)據(jù)({ "firstName": "Xiansheng", "lastName":"Chen", "email": "idealRetail@163.com" })格式化為excel列字段:
    Find: .*first(匹配任何字符開(kāi)頭且連著first字樣的文本)
    Replace: first(清除行首的括號(hào)引號(hào))
    Find: " }(匹配"后接一空格及}符號(hào)的文本霎肯,}需轉(zhuǎn)義)
    Replace:(清除行末的括號(hào)引號(hào))
    Find: ":[ ]*"(匹配"之間含:及若干個(gè)空格的文本)
    Replace: \t(替換冒號(hào)分隔為制表符分隔)
    Find: ", "(匹配"之間含,及一個(gè)空格的文本)
    Replace: \t(替換冒號(hào)分隔為制表符分隔)

啊擎颖,快沒(méi)電了……

作為正則表達(dá)式的科普,看到這兒對(duì)自己是否適用观游,自己又是否感興趣也差不多了然于心了搂捧。那么,我們留言見(jiàn)懂缕?

晚安?_?

程先生其實(shí)不姓程允跑,他是個(gè)程序員。
他很樂(lè)意與你分享許多硬貨和一點(diǎn)軟文搪柑,并提供善解人意的技術(shù)咨詢聋丝。
歡迎關(guān)注,歡迎簡(jiǎn)信工碾。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末弱睦,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子渊额,更是在濱河造成了極大的恐慌况木,老刑警劉巖垒拢,帶你破解...
    沈念sama閱讀 218,941評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異火惊,居然都是意外死亡求类,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門屹耐,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)尸疆,“玉大人,你說(shuō)我怎么就攤上這事惶岭〔旨迹” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,345評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵俗他,是天一觀的道長(zhǎng)脖捻。 經(jīng)常有香客問(wèn)我,道長(zhǎng)兆衅,這世上最難降的妖魔是什么地沮? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,851評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮羡亩,結(jié)果婚禮上摩疑,老公的妹妹穿的比我還像新娘。我一直安慰自己畏铆,他們只是感情好雷袋,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,868評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著辞居,像睡著了一般楷怒。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上瓦灶,一...
    開(kāi)封第一講書(shū)人閱讀 51,688評(píng)論 1 305
  • 那天鸠删,我揣著相機(jī)與錄音,去河邊找鬼贼陶。 笑死刃泡,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的碉怔。 我是一名探鬼主播烘贴,決...
    沈念sama閱讀 40,414評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼撮胧!你這毒婦竟也來(lái)了桨踪?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,319評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤趴樱,失蹤者是張志新(化名)和其女友劉穎馒闷,沒(méi)想到半個(gè)月后酪捡,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,775評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡纳账,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年逛薇,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片疏虫。...
    茶點(diǎn)故事閱讀 40,096評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡永罚,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出卧秘,到底是詐尸還是另有隱情呢袱,我是刑警寧澤,帶...
    沈念sama閱讀 35,789評(píng)論 5 346
  • 正文 年R本政府宣布翅敌,位于F島的核電站羞福,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏蚯涮。R本人自食惡果不足惜治专,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,437評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望遭顶。 院中可真熱鬧张峰,春花似錦、人聲如沸棒旗。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,993評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)铣揉。三九已至饶深,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間老速,已是汗流浹背粥喜。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,107評(píng)論 1 271
  • 我被黑心中介騙來(lái)泰國(guó)打工凸主, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留橘券,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,308評(píng)論 3 372
  • 正文 我出身青樓卿吐,卻偏偏與公主長(zhǎng)得像旁舰,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子嗡官,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,037評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容