python 正確字串處理(自己踩過的坑)

2022-08-14 18:33:10 字數 1476 閱讀 3304

不管是誰,只要處理過由使用者提交的調查資料,就能明白這種亂七八糟的資料是怎麼一回事。為了得到一組能用於分析工作的格式統一的字串,需要做很多事情:去除空白符、刪除各種標點符號、正確的大寫格式等。做法之一是使用內建的字串方法和正規表示式re模組:

states = ['   alabama ', 'georgia!', 'georgia', 'georgia', 'florida',

'south carolina##', 'west virginia?']

import re

def clean_strings(strings): # 一般對資料的處理步驟

result =

for value in strings:

value = value.strip()

value = re.sub('[!#?]', '', value)

value = value.title()

return result

in [173]: clean_strings(states)

out[173]:

['alabama',

'georgia',

'georgia',

'georgia',

'florida',

'south carolina',

'west virginia']

def remove_punctuation(value):

return re.sub('[!#?]', '', value)

clean_ops = [str.strip, remove_punctuation, str.title] # 函式也是物件

def clean_strings(strings, ops):

result =

for value in strings:

for function in ops:

value = function(value)

return result

in [175]: clean_strings(states, clean_ops)

out[175]:

['alabama',

'georgia',

'georgia',

'georgia',

'florida',

'south carolina',

'west virginia']

# 或者

in [176]: for x in map(remove_punctuation, states): #

.....: print(x)

alabama

georgia

georgia

georgia

florida

south carolina

west virginia

Python 字串處理

python endswith 方法用於判斷字串是否以指定字尾結尾,如果以指定字尾結尾返回 true 否則返回 false 可選引數 start 與 end 為檢索字串的開始與結束位置。語法 endswith 方法語法 str.endswith suffix start end 引數 返回值 如果字...

Python字串處理

去空格及特殊符號 s.strip lstrip rstrip 複製字串 strcpy sstr1,sstr2 sstr1 strcpy sstr2 sstr1 sstr1 strcpy2 print sstr2連線字串 strcat sstr1,sstr2 sstr1 strcat sstr1 ss...

Python字串處理

python字串處理 part i 常見處理函式 string.find sub,start 0,end len string 檢測sub是否包含在string中,如果是返回 第乙個sub 開始的索引值,否則返回 1.string.index sub,start 0,end len string 跟...