ホームページ >バックエンド開発 >Python チュートリアル >固定長に従って文字列を分割するPythonメソッド
この記事では、Python で文字列を固定長に分割する方法を主に紹介します。必要な場合は、それを参照してください。特定の値に変更する必要があります。たとえば、mac='902B345FB021' は mac='90-2B-34-5F-B0-21' に変更されます。
Python スクリプトを使用すると、文字列が固定長に従って分割されるという原理で簡単に実装できます。
1、ファイル mac.txt は、次の MAC アドレスを保存します:
50E549E32ECB
902B3413EFA650E549ECBA1Cコード例:902B3457B16F
1C6F65296DF9 B34 131A14
50E549E3E2F8
50E5493A2696
902B345FB021
902B34131574
ここでは、全員が共有できる 2 つの実装方法を示します参照する。
方法1:
#!/bin/python #site:WWW.jb51.net # A = open('mac.txt','r') a = A.readlines() for aa in a: b = list(aa.strip()) c='' for i in range(len(b)): if i !=0: if i%2 == 0: c=c+'-'+b[i] else: c=c+b[i] else: c=c+b[i] print c A.close()
方法2:
コード例:#!/bin/python # import re A = open('mac.txt','r') a = A.readlines() for aa in a: b=re.findall(r'.{2}',aa) c='-'.join(b) print c A.close()
Pythonで正規表現を使うと、実行効率が高くお勧めできます。
処理結果:50-E5-49-E3-2E-CB
90-2B-34-13-EF-A6
90-2B-34-57 -B1-6FPython は、固定長に従って文字列を 3 文字のグループに分割します1C-6F-65-29-6D-F9
90-2B-34-13-1A-14
50-E5-49-E3-E2-F8
50-E5-49-3A-26 -96
90-2B-34-5F-B0-21
90-2B-34-13-15-74
90-2B-34-18-43-BF
00-24-1D-0E-25-8D
Python は文字列の処理に非常に優れており、誰もがそれをしっかりと理解することをお勧めします。
def cut_text(text,lenth):
textArr = re.findall('.{'+str(lenth)+'}', text)
textArr.append(text[(len(textArr)*lenth):])
return textArr
print(cut_text('123456789abcdefg',3))
['123', '456', '789', 'abc', 'def', 'g']
コード 2
>>> import re >>> string = '123456789abcdefg' >>> re.findall(r'.{3}', string) ['123', '456', '789', 'abc', 'def'] >>>
関連する推奨事項:
python print カンマまたはスペースで区切る方法
Python は文字列内の指定された位置に文字を挿入する実装をします
以上が固定長に従って文字列を分割するPythonメソッドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。