>  기사  >  백엔드 개발  >  고정 길이에 따라 문자열을 분할하는 Python 방법

고정 길이에 따라 문자열을 분할하는 Python 방법

不言
不言원래의
2018-05-02 14:34:147380검색

이 글은 파이썬에서 고정 길이에 따라 문자열을 분할하는 방법을 주로 소개합니다. 이제 이를 공유합니다. 도움이 필요한 친구들이 참고할 수 있습니다. 특정 값으로 변경해야 합니다. 예를 들어 mac='902B345FB021'은 mac='90-2B-34-5F-B0-21'로 변경됩니다.

파이썬 스크립트를 사용하면 쉽게 구현할 수 있습니다. 원칙은 문자열이 고정된 길이에 따라 분할된다는 것입니다.


1, 파일 mac.txt는 다음 mac 주소를 저장합니다:

50E549E32ECB
902B3413EFA6

50E549ECBA1C
902B3457B16F
1C6F65296DF9
902B34 131A14
50E549E3E2F8
50E5493A2696
902B345FB021
902B34131574

다음은 모두가 공유할 수 있는 두 가지 구현 방법입니다. 참조하십시오.
방법 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()

파이썬의 정규식 구현을 사용하여 실행 효율성이 높으며 추천할만한 가치가 있습니다.

처리 결과:


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은 문자열을 고정 길이에 따라 세 문자 그룹으로 나눕니다.

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']

Code 2

>>> import re
>>> string = '123456789abcdefg'
>>> re.findall(r'.{3}', string)
['123', '456', '789', 'abc', 'def']
>>>

관련 권장 사항:

python 인쇄 쉼표나 공백으로 구분하는 방법

Python은 문자열의 지정된 위치에 문자를 삽입하는 기능을 구현합니다

위 내용은 고정 길이에 따라 문자열을 분할하는 Python 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.