日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

c++ string分割字符串split_python 字符串和文本处理

發布時間:2023/12/15 python 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c++ string分割字符串split_python 字符串和文本处理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

字符串和文本處理

字符串是一種重要的數據形式,有價值的程序都會涉及到對于字符串的處理。幸運的是,強大的python內置了很多函數,來幫助我們解析和處理字符串。本文會涉及到字符串編碼,簡單的字符串處理函數。

字符串編碼

在 Python3 中,文本總是 Unicode, 由 str 類型進行表示,二進制數據使用 bytes 進行表示。不會出現python2種將 str 與 bytes 偷偷的混在一起的情況,使得兩者的區別更加明顯[1]。

我們知道,計算機儲存的都是二進制信息,二進制信息有很多種編碼方式來表示字符,有的編碼方式叫BIG-5,有的編碼方式叫GBK,有的編碼方式叫UTF-8,不一而足。

在python3中,默認的編碼方式是UTF-8。python內置了可以處理字符串的decode()函數和encode()函數,decode()函數將其它編碼的字符串轉化為UTF-8,encode()函數將UTF-8編碼轉化為其它編碼[2]。

拼接字符串

使用+拼接少量字符串,形式簡潔,速度很快。比如:

>>> string_1 = "Hello">>> string_2 = "World">>> string = string_1 + string_2>>> print(string)HelloWorld

對于已知值的字符串,可以依次打出其值并賦值給一個字符串變量,也可以實現字符串的連接。

# 無需加號的連接>>> string_3 = "Hello" "World">>> print(string_3)HelloWorld

隨著字符串數量的增多,字符串連接的效率會迅速降低[3]。這時就需要使用join()方法,它本質上是一個函數。join()是專屬于字符串的一種方法,字符串后面只要加上一個點,就能夠使用該方法。

>>> parts = ['Is', 'Chicago', 'Not', 'Chicago?']# 用空格連接>>> ' '.join(parts)'Is Chicago Not Chicago?'# 用逗號連接>>> ','.join(parts)'Is,Chicago,Not,Chicago?'# 不使用任何字符,直接連接>>> ''.join(parts)'IsChicagoNotChicago?'

多個需要連接的字符串,一般會放在列表里面。然后使用join()方法連接。注意,在','.join(parts)中,parts表示待連接的字符串,逗號意味著:每個字符串之間用逗號連接。

拆分字符串

字符串的分割需要用到split()方法,它也是python的內置函數,專門用于拆分字符串。函數split()只接受一個參數,這個參數決定了字符串應該在何處拆分。

>>> line = 'Is Chicago Not Chicago?'# 用逗號分隔>>> parts = line.split(' ')>>> print(parts)['Is', 'Chicago', 'Not', 'Chicago?']# 拆分和連接是互逆的,先拆分后連接,還是原來的字符串>>> ' '.join(line.split(' ')) == lineTrue

如果想在多個字符處分隔應該怎么辦呢?聰明的你不難想到,多次使用split()方法,每次使用不同的字符。具體見下面的例子:

現在我們還沒有學到列表連接的方法,暫且使用+。和字符串的連接類似,用+連接列表也會有性能問題,這時需要用到append()方法,感興趣的同學可以查閱相關資料。

首尾字符過濾

首尾字符過濾用strip()方法,strip()默認過濾掉空格' '和換行```,也可以指定過濾的字符。具體可以看下面的例子:

# 默認過濾首尾空格和換行符號>>> line = ' Hello, world! '>>> line.strip()'Hello, world!'# 過濾掉'?'>>> line = 'Is Chicago Not Chicago?'>>> line.strip('?')'Is Chicago Not Chicago'

字符的查找和替換

查找的方法是find(),用法和上面的類似,具體用法請看下面的例子。

>>> line = 'Hello, world!'>>> line.find('o')4

123find()方法,從字符串的開頭開始尋找目標字符,遇到第一個符合的字母就停止尋找,并返回該字符的序號。

# 根據空格和字母c,拆分字符串line>>> line = 'Is Chicago Not Chicago?'>>> part_1 = line.split(' ')>>> print(part_1)['Is', 'Chicago', 'Not', 'Chicago?']>>> part_2 = []>>> for index in part_1:···part_2 = part_2 + index.split('c')>>> print(part_2)['Is', 'Chi', 'ago', 'Not', 'Chi', 'ago?']

替換的方法是:replace(),基本的使用格式是:字符串.replace(參數1, 參數2),參數1表示要被替換的字符,參數2表示替換成的字符。具體見下面的例子:

>>> line = 'Hello, world!'>>> line.replace('', '')'Hello, world!'# 一次性替換全部>>> line.replace('o', 'a')'Hella, warld!'

replace()方法不是惰性的,它會把所有符合條件的字符都替換成目標字符。

總結

  • python3默認編碼是UTF-8,其它編碼轉換成UTF-8需要使用decode()方法
  • 少量拼接使用+,大量字符串拼接需要使用join()方法
  • 拆分字符串需要使用split()方法,可以自定義拆分的基準字符
  • strip()可以實現過濾首尾的特定字符,默認過濾空格和換行
  • 字符的查找和替換分別使用find()和replace()方法
  • 思考

    # 根據一種字符串分隔字符只需要用split()方法# 兩次使用split()方法也可以實現按兩種字符分隔字符串# 請編寫一個函數,將任意一個字符串按任意兩個字符分隔# 比如輸入字符串:'Hello, welcome to congge python'# 分隔參數:空格和英文逗號# 輸出:['Hello', 'welcome', 'to', 'congge', 'python']def my_split(string, character1, character2): array = string.split(character1) output = [] for i in array: output = output + i.split(character2) return output

    總結

    以上是生活随笔為你收集整理的c++ string分割字符串split_python 字符串和文本处理的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。