10 調整字串中文字的格式

2021-09-27 07:24:43 字數 1722 閱讀 1354

例如,某軟體的log檔案中的日期格式為yyyy-mm-dd

2019-05-21 10:39:26 status unpacked python3-pip:all

2019-05-23 10:49:26 status half-configured python3

2019-05-23 10:52:26 status installed python3-pip:all

2019-05-24 11:57:26 configure python3-wheel:all 0.24

...

要求:將日期格式改為mm/dd/yyyy

解決方案:使用正規表示式re.sub()方法做字串替換,利用正規表示式的捕獲組捕獲每個部分內容,在替換字串中調整各個捕獲組的順序。

re.sub(pattern, repl, string, count=

0, flags=

0)

pattern:匹配的正規表示式

string:要匹配的字串

flags:標記為,用於控制正規表示式的匹配方式。如:是否區分大小寫,多行匹配等等

repl:替換的字串,也可作為乙個函式

count:模式匹配後替換的最大次數,預設0表示替換所有匹配

返回通過正則替換後的字串。如果pattern沒有找到,則不加改變地返回string

import re

# f = open('/var/log/messages')

# log = f.read()

log =

'''2019-05-21 10:39:26 status unpacked python3-pip:all

2019-05-23 10:49:26 status half-configured python3

2019-05-23 10:52:26 status installed python3-pip:all

2019-05-24 11:57:26 configure python3-wheel:all 0.24

'''answer = re.sub(r'(\d)-(\d)-(\d)'

, r'\2/\3/\1'

, log)

# answer = re.sub(r'(?p\d)-(?p\d)-(?p\d)', r'\g/\g/\g', log)

print

(answer)05/

21/201910:

39:26 status unpacked python3-pip:

all#結果05/

23/201910:

49:26 status half-configured python305/

23/201910:

52:26 status installed python3-pip:

all05/24

/201911:

57:26 configure python3-wheel:

all0.24

當分組很多時,可以給分組起別名:

re.sub(r'(?p\d)-(?p\d)-(?p\d)'

, r'\g/\g/\g'

, log)

分解調整字串中的字元 Python 版

題目 給定乙個字元型別的陣列 chas,其中只有數字和 星型字元,現在想把所有的星型字元挪到陣列的左邊,數字字元全部放到右邊,順序不許變。要求 時間複雜度為 o n 空間複雜度是o 1 def replace stars self,str list 將所有 號移動到陣列的左側 j len str l...

逆轉中文字串 逆轉字串

要顯示中文必須使用unsigned char型,如果使用char 就裝不下了。然後要明白乙個unsigned char 其實只是裝了乙個中文字元的一半。列印的時候如果只列印乙個unsigned char有可能什麼都看不到。所以逆轉的時候要把兩個unsigned char看成乙個整體來交換。如下 in...

php中文字元字串反轉字串

header content type text html charset utf 8 s 這是我的技術部落格,歡迎多多來訪!function str rev str 用mb strlen函獲取算utf8字串的長度 length mb strlen str,utf 8 宣告乙個陣列備用 arr ar...