re module's sub
함수와 split
을 사용하십시오.
>>> input_string = "01-result.xls,2-result.xls,03-result.xls,05-result.xls"
>>> import re
>>> re.sub(r'(\d+)-(\w+)\.xls',r'\2\1',input_string)
'result01,result2,result03,result05'
>>> re.sub(r'(\d+)-(\w+)\.xls',r'\2\1',input_string).split(',')
['result01', 'result2', 'result03', 'result05']
더 수입을 사용하지, 당신은 ,
에 그것을 분할 후 문자열을 통해 여기, 우리 루프를 list comprehension
>>> [''.join(x.split('.')[0].split('-')[::-1]) for x in input_string.split(',')]
['result01', 'result2', 'result03', 'result05']
너 한테을 사용할 수 있습니다. 이제 우리는 .
에있는 개별 단어를 나눠서 -
에 첫 번째 요소를 나눕니다.
이 목록의 이해가 무엇인지 이해하기, 읽기 What does "list comprehension" mean? How does it work and how can I use it?
받는오고 - 우리는 지금 우리가 쉽게 join
.
목록 빌려 응답의
완전한 설명 할 수와 단어를 가지고 대답
,
에 입력 목록을 분할은 우리에게 개별 파일 이름의 목록을 제공
우리가 파일 이름 만이 아닌 확장을 필요로 691,363,210
>>> input_string.split(',')
['01-result.xls', '2-result.xls', '03-result.xls', '05-result.xls']
이제 지능형리스트 구조를 사용하여, 우리는이를 통해
>>> [i for i in input_string.split(',')]
['01-result.xls', '2-result.xls', '03-result.xls', '05-result.xls']
을 반복 할 수있는, 우리 split
.
를 사용하여 첫 번째 값을하여.
>>> [i.split('.')[0] for i in input_string.split(',')]
['01-result', '2-result', '03-result', '05-result']
다시 말하면 번호와 이름이 두 부분으로 필요합니다. 그래서 우리는 다시 우리가 "namenumber"
입니다 필요하지만 형식, 이제 우리는 목록에서 [번호, 이름을]이 -
>>> [i.split('.')[0].split('-') for i in input_string.split(',')]
[['01', 'result'], ['2', 'result'], ['03', 'result'], ['05', 'result']]
로 분할합니다. 따라서 우리는 두 가지 옵션
i.split('.')[0].split('-')[1]+i.split('.')[0].split('-')[0]
처럼 CONCAT
그래서 우리는
>>> [''.join(x.split('.')[0].split('-')[::-1]) for x in input_string.split(',')]
['result01', 'result2', 'result03', 'result05']
이 경우에는 일반적으로 사용하지 않는 것이 일반적입니다. – marjak
정규 표현식을 사용할 수 있습니다. –
@BenjaGarrido 예, 이해하기 쉽지만 유감스럽게도 느립니다. –