字串和文字處理技巧

2022-08-26 08:51:09 字數 1820 閱讀 7544

複雜文字分隔:

你需要將乙個字串分割為多個字段,但是分隔符(還有周圍的空格)並不是固定的。

解決辦法:

1 >>> line = '

asdf fjdk; afed, fjek,asdf, foo

'2 >>>import re

3 >>> re.split(r'

[;,\s]\s*

', line)

4 ['

asdf

', '

fjdk

', '

afed

', '

fjek

', '

asdf

', '

foo']

note:

當你使用re.split()函式時候,需要特別注意的是正規表示式中是否包含乙個括號捕獲分組。 如果使用了捕獲分組,那麼被匹配的文字也將出現在結果列表中。比如,觀察一下這段**執行後的結果:

1 >>> fields = re.split(r'

(;|,|\s)\s*

', line)

2 >>>fields

3 ['

asdf

', '

', '

fjdk

', '

;', '

afed

', '

,', '

fjek

', '

,', '

asdf

', '

,', '

foo'

]4 >>>

獲取分割字元在某些情況下也是有用的。 比如,你可能想保留分割字串,用來在後面重新構造乙個新的輸出字串:

1 >>> values = fields[::2

]2 >>> delimiters = fields[1::2] + [''

]3 >>>values

4 ['

asdf

', '

fjdk

', '

afed

', '

fjek

', '

asdf

', '

foo'

]5 >>>delimiters

6 ['

', '

;', '

,', '

,', '

,', ''

]7 >>> # reform the line using

the same delimiters

8 >>> ''.join(v+d for v,d in

zip(values, delimiters))9'

asdf fjdk;afed,fjek,asdf,foo

'10 >>>

如果你不想保留分割字串到結果列表中去,但仍然需要使用到括號來分組正規表示式的話, 確保你的分組是非捕獲分組,形如(?:...)。比如:

1 >>> re.split(r'

(?:,|;|\s)\s*

', line)

2 ['

asdf

', '

fjdk

', '

afed

', '

fjek

', '

asdf

', '

foo'

]3 >>>

文字處理 字串

字串常用操作 漢字到拼音的轉換 x 125 so o x so 175 sh x x sh 7d se e x se 1.250000e 02 d,c 65,65 65,a print format 1 3 保留3位小數 0.333 format 3.5 格式化為百分數 350.000000 for...

vim文字處理技巧

如果要把這篇文章寫的詳細透徹,那我沒有必要去書寫,因為已經有了這本書 vim實用技巧 如果時間和精力足夠的同學可以購買或者借閱,真的是寫的很詳細。vim實用技巧 豆瓣 我就在這裡總結一點最常用的文字處理技巧,有時候拿來查閱一下,比較方便,以供參考。vim編輯模式下輸入 游標字元跳轉,h j k l ...

python之文字處理 字串(九)

在python中我們遇到的最多的就是字串了,那麼對於它的ixie 操作我們肯定是要非常熟悉的了,那我們就先來了解一下我們的轉義字元以及字串的格式化吧 轉義字元 在字串中某些特定的符號前加乙個斜線之後,該字元被解釋成另外一種含義,不再表示原來的字元 一些常見的轉義字元 轉義字元 含義 b 退格,將游標...