ホームページ  >  記事  >  バックエンド開発  >  固定長に従って文字列を分割するPythonメソッド

固定長に従って文字列を分割するPythonメソッド

不言
不言オリジナル
2018-05-02 14:34:147309ブラウズ

この記事では、Python で文字列を固定長に分割する方法を主に紹介します。必要な場合は、それを参照してください。特定の値に変更する必要があります。たとえば、mac='902B345FB021' は mac='90-2B-34-5F-B0-21' に変更されます。

Python スクリプトを使用すると、文字列が固定長に従って分割されるという原理で簡単に実装できます。


1、ファイル mac.txt は、次の MAC アドレスを保存します:

50E549E32ECB

902B3413EFA6
50E549ECBA1C

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

50-E5-49-EC-BA-1C
90-2B-34-57 -B1-6F

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 は文字列の処理に非常に優れており、誰もがそれをしっかりと理解することをお勧めします。

Python は、固定長に従って文字列を 3 文字のグループに分割します

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。