SlideShare a Scribd company logo
1 of 49
Download to read offline
戰鬥吧!打工戰士!
身為工程師須具備的字串處理思維!



       Loyo@NISRA
Before Start
      任何提及之
     圖片、影片皆為
     原所有人所有
WHY 為什麼選擇此主題?

  增加面對處理字串時…
          的手感!!!
思維方式
甚麼時候要?
                是否要非常精準?
  手邊目前
  有甚麼工具?
                 日後常常會用到?



                 檔案格式?
檔案是否有中文或特殊字元?

                資料筆數?
STRING
字串
“             “
字串系三小…

    這就是字串!!!!!!!
STRING 字串
count
計算字串出現次數

replace
取代字串成目標字串(可能是換成空白字元)
STRING 字串
select
抓取某特定字串

sort
將特定字串排列
Linux Command
Linux 常用指令
LINUX常用指令


CAT    TAIL   >>   UNIQ

LESS    I     WC   GREP

HEAD    >     SORT AWK
CAT, LESS 顯示檔案內容
CAT
cat <file>     一次倒出所有內容


LESS
less <file>    可控制瀏覽內容



              搜尋內容也很方便!
HEAD, TAIL also 顯示檔案內容
 HEAD
 head -n <file>   選擇性從頭顯示內容
 *(參數) n :行數

 TAIL
 tail -n <file>   選擇性從最後顯示內容
 *(參數) n :行數
“|” 重導輸出內容
    PIPE      唸法: PIPE


“|”
<command1> | <command2>
                         將command1輸出內容
                         當成command2的輸入
“|” 重導輸出內容
    PIPE     唸法: PIPE




 拜託不要打L… (會崩潰
>, >> 資料流重導向
>
<command>> <file>    取代的概念
*經常搭配在處理指令輸出結果寫檔,會覆蓋前次結果

>>
<command>>> <file>    累加的概念
*經常搭配在處理指令輸出結果寫檔,會累加呈現
WC     資料計算(行數, 字元數)

wc (計算行數)
wc -l <file>            計算該檔案有幾行
*(參數) -l :計算行數
                    *是L , 容易和pipe搞混
wc (計算字元數)
wc -m <file>            計算該檔案有幾字元
*(參數) -m :計算字元數(換行也算)


*經常搭配pipe使用
SORT 資料排序
sort
sort <file>              排序檔案內容

*(參數) -f :忽略大小寫
       (注意忽略大小寫,會因系統環境變數設定不同而有差異)
       -b:忽略每行前方的空白
       -r:反向排序
       -u:將相同之選項排除,僅保留一項



*uniq 與 sort 視情境搭配使用
UNIQ 排除重覆資料
uniq
uniq <file>         排除檔案內容重覆部分

*(參數) -i :忽略大小寫
      -c:計算重覆次數

*uniq 指令是將重複的項目減少
 所以需要『配合排序過的檔案』(sort command)
GREP 選取特定資料
grep
grep PATTERN <file>   選取檔案中特定資料

*(參數) -i : 忽略大小寫
      -E: PATTERN 使用 regexp
      -v: 反向選取,相當於列出不符合 PATTERN 的資料

*grep 指令使用的的機會非常高,建議多熟悉!
AWK 資料處理工具
 awk
 awk -F'#' '{print $3}' <file>   選取檔案中特定
                                 欄位資料

 *(參數) F : 分隔符號

allenown#realpiyo#shaolin#anfa
   $1       $2      $3     $4
                                 $3 = ?
*awk的用法非常多,甚至可以針對IF去做判斷,可自行玩
玩實驗看看。
REGEXP
        正規表達式




敘述符合某段句法規則之字串的字串
用來找尋與驗證或替換符合規則的字串。
REGEXP 正規表達式
篩選字串格式的描述語句
包含大小寫A-Z的字元
[A-Za-z]

包含大小寫A-Z的四個字元
[A-Za-z]{4}

              表示所有由四個A-Z字元所組
              成的字串!(大小寫視同)
REGEXP 正規表達式
包含大小寫A-Z,0-9的字元,字元數最少3個,最多8個的字串
[A-Za-z0-9] {3,8}

開頭是由4個0-9的數字所組成的字串
^[0-9]{4}

結尾是由4個0-9的數字所組成的字串
[0-9]{4}$
REGEXP 正規表達式
手機號碼(09xx-xxx-xxx)
09[0-9]{2}-[0-9]{3}-[0-9]{3}

手機號碼(09xx-xxxxxx)
09[0-9]{2}-[0-9]{6}

身分證字號
[A-Za-z][12][0-9]{8}

                  1或是2
REGEXP 正規表達式
第一碼字母:                      第一碼數字:
    字母    縣市     字母    縣市   2 -> 女
A        臺北市   M      南投縣   1 -> 男
B        臺中市   N      彰化縣
C        基隆市   O      新竹市
D        臺南市   P      雲林縣
E        高雄市   Q      嘉義縣
F        新北市   T      屏東縣
G        宜蘭縣   U      花蓮縣
H        桃園縣   V      臺東縣
I        嘉義市   W      金門縣
J        新竹縣   X      澎湖縣
K        苗栗縣   Z      連江縣
MIKU 初音ミク
A: 初音是誰?
B:初音是個軟體而已......
C:什麼叫初音是個軟體而以.....想決鬥嗎?!!!!
B:好啦 應該說她"本來"是個軟體
C:什麼叫做「本來」是個軟體!
  你又要決鬥了嗎!????
ENCODING
字元編碼
Character encoding
ENCODING 字元編碼
字元
凡舉看到的符號、字符皆可稱為字元。

字集
字元的集合,即為字集,不同國家因語言與文字上
的不同,會有不同的字集。

字碼
對於字集對應而產生的對應碼,即為字碼。
ENCODING 字元編碼

      舉個例子…
ENCODING 字元編碼
字元
假設 ”是否要吃這件事” 為一個概念,而每一個概念即表示一個字元。


字集
那日常生活中的吃喝拉撒睡,就是很多個概念(字元)的集合了。



 字概
 (




 集念    要   要    要   要   要
       吃   喝    撒   睡

                         ‧‧‧‧
  的
 )




  集                     嗎
  合    嗎   嗎    嗎   嗎
                         ?
       ?

           ?

                ?

                    ?
ENCODING 字元編碼
字碼
那麼在概念的集合中,為了方便溝通,乾脆給都給它個編碼吧?


     字   0A   0B   0C   0D   0E
     碼

 字概
 (




 集念      要    要    要    要    要
         吃

                             ‧‧‧‧ ?
  的           喝    撒    睡
 )




  集                          嗎
  合      嗎    嗎    嗎    嗎
         ?

              ?

                   ?

                        ?
ENCODING 字元編碼
  0A            0B



 要              要
 吃              喝
 嗎              嗎




                ?
 ?
ENCODING 字元編碼
日本字元
假設 ”是否要吃這件事” 為一個概念,而每一個概念即表示一個字元。


日本字集
那日常生活中的吃喝拉撒睡,就是很多個概念(字元)的集合了。



 字概
 (




       食    飲
                XX


                     OO


                          YY
 集念    べ    み
                ま         ま
  的         ま        ま
 )




       ま        す         す
  集    す    す        す
            か   か    か    か
  合    か
                          ?
                ?
            ?




                     ?
        ?
ENCODING 字元編碼
日本字碼
那麼在概念的集合中,為了方便溝通,乾脆給都給它個編碼吧?


   字   1A   1B   1C   1D   1E
   碼

 字概
 (




       飲
            XX


                 食


                      OO


                           YY
 集念    み
            ま    べ         ま
  的    ま              ま
 )




            す    ま         す
  集    す         す    す
       か    か         か    か
  合              か

                           ?
            ?
       ?




                      ?
                 ?
ENCODING 字元編碼
  1C            1A


                食
  飲             べ
  み             ま
  ま             す
  す             か
  か




                ?
  ?
ENCODING 字元編碼

   當日本人碰到台灣人…
ENCODING 字元編碼
  1C                1C   ??




 食
 べ
 ま
 す
 か
  ?




       字碼不相同無法對應
       同時使用的字集也不同
BIG5
大五碼
五大碼
ENCODING 字元編碼
Big5
Big5雖普及於台灣、香港與澳門等繁體中文通行區,但長期以來並非當
地的國家標準,而只是業界標準。


   字   0A   0B   0C   0D   0E
   碼
                                  示
 字概
  (




 集念    要    要    要    要    要      意
                                  圖
       吃    喝    撒    睡

                           ‧‧‧‧
  的
  )




  集                        嗎
  合    嗎    嗎    嗎    嗎
                           ?
       ?

            ?

                 ?

                      ?
Unicode
統一碼、萬國碼、單一碼、標準萬國碼
ENCODING 字元編碼
Unicode
電腦科學領域裡的一項業界標準。它為世界上大部分的文字系統進行整
理、編碼,使得電腦可以用更為簡化地方式來呈現和處理文字。

   字
   碼
       00A   00B   00C   00D   01A   01B   01C   01D




 字概
 (




       要     要     要     要     飲
                                                       示

                                     XX
                                           食




                                                 OO
                               み           べ
 集念                                                    意
       吃     喝     撒     睡     ま     ま
                                           ま     ま
       嗎     嗎     嗎     嗎           す
  的
                               す
                                     か     す     す
                                                       圖
 )




                               か                 か
       ?

             ?

                   ?

                         ?




                                     ?     か
  集
                               ?




                                                 ?
                                           ?
  合
&*&%ˊ-=[_
 亂碼
ENCODING 字元編碼
亂碼
當使用的字集與字元編碼互相不符合的時候,就會出現亂碼。


Big5 vs UTF8
隞嗡��vs       電子郵件

NOTE: UTF8是Unicode的一種編碼方式!
THE END
本著作由Loyo Fulamce製作,以創用CC 姓名標示-
 非商業性-相同方式分享 3.0 台灣 授權條款釋出。
    任何提及之圖片、影片其版權皆為原所有人所有
任何事情…
都要咬緊牙根!!!!
[轉錄]
若你把目標放在月球
那你將輕易越過樹梢

More Related Content

Viewers also liked

qualitative analysis with maxqda2012 steps
qualitative analysis with maxqda2012 stepsqualitative analysis with maxqda2012 steps
qualitative analysis with maxqda2012 stepsKai Wu
 
Validity And Reliability In Research2009 11 12
Validity And Reliability In Research2009 11 12Validity And Reliability In Research2009 11 12
Validity And Reliability In Research2009 11 12Kai Wu
 
Reference Managment2008
Reference Managment2008Reference Managment2008
Reference Managment2008Kai Wu
 
Data Analysis In Service Research2009 11 12
Data Analysis In Service Research2009 11 12Data Analysis In Service Research2009 11 12
Data Analysis In Service Research2009 11 12Kai Wu
 
tourism research and zotero2012
tourism research and zotero2012tourism research and zotero2012
tourism research and zotero2012Kai Wu
 
Personal Knowledge Management2009 12 16
Personal Knowledge Management2009 12 16Personal Knowledge Management2009 12 16
Personal Knowledge Management2009 12 16Kai Wu
 
Www sociam-2016-policy-reviews
Www sociam-2016-policy-reviewsWww sociam-2016-policy-reviews
Www sociam-2016-policy-reviewsJun Zhao
 
FERTILIZACION Y FERTILIZANTES CLASE DEL LUNES 05 DE MAYO DEL 2008
FERTILIZACION Y FERTILIZANTES CLASE DEL  LUNES 05 DE MAYO DEL 2008FERTILIZACION Y FERTILIZANTES CLASE DEL  LUNES 05 DE MAYO DEL 2008
FERTILIZACION Y FERTILIZANTES CLASE DEL LUNES 05 DE MAYO DEL 2008PABLO CORREA
 
P1 @ Wimax Forum Singapore 2008
P1 @ Wimax Forum Singapore 2008P1 @ Wimax Forum Singapore 2008
P1 @ Wimax Forum Singapore 2008Packet One
 
Discovering WiMAX with P1
Discovering WiMAX with P1Discovering WiMAX with P1
Discovering WiMAX with P1Packet One
 

Viewers also liked (10)

qualitative analysis with maxqda2012 steps
qualitative analysis with maxqda2012 stepsqualitative analysis with maxqda2012 steps
qualitative analysis with maxqda2012 steps
 
Validity And Reliability In Research2009 11 12
Validity And Reliability In Research2009 11 12Validity And Reliability In Research2009 11 12
Validity And Reliability In Research2009 11 12
 
Reference Managment2008
Reference Managment2008Reference Managment2008
Reference Managment2008
 
Data Analysis In Service Research2009 11 12
Data Analysis In Service Research2009 11 12Data Analysis In Service Research2009 11 12
Data Analysis In Service Research2009 11 12
 
tourism research and zotero2012
tourism research and zotero2012tourism research and zotero2012
tourism research and zotero2012
 
Personal Knowledge Management2009 12 16
Personal Knowledge Management2009 12 16Personal Knowledge Management2009 12 16
Personal Knowledge Management2009 12 16
 
Www sociam-2016-policy-reviews
Www sociam-2016-policy-reviewsWww sociam-2016-policy-reviews
Www sociam-2016-policy-reviews
 
FERTILIZACION Y FERTILIZANTES CLASE DEL LUNES 05 DE MAYO DEL 2008
FERTILIZACION Y FERTILIZANTES CLASE DEL  LUNES 05 DE MAYO DEL 2008FERTILIZACION Y FERTILIZANTES CLASE DEL  LUNES 05 DE MAYO DEL 2008
FERTILIZACION Y FERTILIZANTES CLASE DEL LUNES 05 DE MAYO DEL 2008
 
P1 @ Wimax Forum Singapore 2008
P1 @ Wimax Forum Singapore 2008P1 @ Wimax Forum Singapore 2008
P1 @ Wimax Forum Singapore 2008
 
Discovering WiMAX with P1
Discovering WiMAX with P1Discovering WiMAX with P1
Discovering WiMAX with P1
 

Recently uploaded

哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制
哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制
哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制jakepaige317
 
泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书
泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书
泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书jakepaige317
 
EDUC6506_ClassPresentation_TC330277 (1).pptx
EDUC6506_ClassPresentation_TC330277 (1).pptxEDUC6506_ClassPresentation_TC330277 (1).pptx
EDUC6506_ClassPresentation_TC330277 (1).pptxmekosin001123
 
中国文学, 了解王安石变法,熙宁变法,熙盛变法- 中国古代改革的类型- 富国强兵,
中国文学, 了解王安石变法,熙宁变法,熙盛变法- 中国古代改革的类型- 富国强兵,中国文学, 了解王安石变法,熙宁变法,熙盛变法- 中国古代改革的类型- 富国强兵,
中国文学, 了解王安石变法,熙宁变法,熙盛变法- 中国古代改革的类型- 富国强兵,Xin Yun Teo
 
1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...
1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...
1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...黑客 接单【TG/微信qoqoqdqd】
 
EDUC6506(001)_ClassPresentation_2_TC330277 (1).pptx
EDUC6506(001)_ClassPresentation_2_TC330277 (1).pptxEDUC6506(001)_ClassPresentation_2_TC330277 (1).pptx
EDUC6506(001)_ClassPresentation_2_TC330277 (1).pptxmekosin001123
 
educ6506presentationtc3302771-240427173057-06a46de5.pptx
educ6506presentationtc3302771-240427173057-06a46de5.pptxeduc6506presentationtc3302771-240427173057-06a46de5.pptx
educ6506presentationtc3302771-240427173057-06a46de5.pptxmekosin001123
 

Recently uploaded (7)

哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制
哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制
哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制
 
泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书
泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书
泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书
 
EDUC6506_ClassPresentation_TC330277 (1).pptx
EDUC6506_ClassPresentation_TC330277 (1).pptxEDUC6506_ClassPresentation_TC330277 (1).pptx
EDUC6506_ClassPresentation_TC330277 (1).pptx
 
中国文学, 了解王安石变法,熙宁变法,熙盛变法- 中国古代改革的类型- 富国强兵,
中国文学, 了解王安石变法,熙宁变法,熙盛变法- 中国古代改革的类型- 富国强兵,中国文学, 了解王安石变法,熙宁变法,熙盛变法- 中国古代改革的类型- 富国强兵,
中国文学, 了解王安石变法,熙宁变法,熙盛变法- 中国古代改革的类型- 富国强兵,
 
1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...
1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...
1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...
 
EDUC6506(001)_ClassPresentation_2_TC330277 (1).pptx
EDUC6506(001)_ClassPresentation_2_TC330277 (1).pptxEDUC6506(001)_ClassPresentation_2_TC330277 (1).pptx
EDUC6506(001)_ClassPresentation_2_TC330277 (1).pptx
 
educ6506presentationtc3302771-240427173057-06a46de5.pptx
educ6506presentationtc3302771-240427173057-06a46de5.pptxeduc6506presentationtc3302771-240427173057-06a46de5.pptx
educ6506presentationtc3302771-240427173057-06a46de5.pptx
 

戰鬥吧!打工戰士!身為工程師須具備的字串處理思維!