반응형
python에서 문자열을 구분 기호로 분할합니다.
이 문자열을 분할하는 방법__딜리미터입니다.
MATCHES__STRING
출력을 얻으려면['MATCHES', 'STRING']?
다음 방법을 사용할 수 있습니다.string.split('__')
>>> "MATCHES__STRING".split("__")
['MATCHES', 'STRING']
콤마 구분 파일용으로 설계되었지만 커스텀 딜리미터를 사용하도록 쉽게 수정할 수 있는 이 모듈에 관심이 있을 수 있습니다.
import csv
csv.register_dialect( "myDialect", delimiter = "__", <other-options> )
lines = [ "MATCHES__STRING" ]
for row in csv.reader( lines ):
...
문자열에 2개 이상의 요소가 있는 경우(아래 예에서는 3개), 콤마를 사용하여 이러한 항목을 구분할 수 있습니다.
date, time, event_name = ev.get_text(separator='@').split("@")
이 코드 줄 뒤에 세 변수가 변수의 세 부분으로부터 값을 갖게 됩니다.ev.
그래서 만약 변수가ev이 문자열을 포함하며 구분 기호를 적용합니다.@:
Sa., 23. März@19:00@Klavier + Orchester: SPEZIAL
그리고 나서split변수를 조작하다
date가치가 있다Sa., 23. Märztime가치가 있다19:00event_name가치가 있다Klavier + Orchester: SPEZIAL
Python 3.8의 경우, 실제로 필요한 것은 없습니다.get_textmethod로 하면 됩니다.ev.split("@")실제로,get_textmethod는 att를 던지는 것입니다.오류입니다. 예를 들어 문자열 변수가 있는 경우:
filename = 'file/foo/bar/fox'
위의 코멘트에 제시된 바와 같이 혼수상태로 다른 변수로 분할할 수 있지만 수정이 필요합니다.
W, X, Y, Z = filename.split('_')
W = 'file'
X = 'foo'
Y = 'bar'
Z = 'fox'
게다가.split그리고.rsplit,있어partition/rpartition한 번 스트링을 분리하지만 질문한 방식도 해당될 수 있습니다.
예:
>>> "MATCHES__STRING".partition("__")
('MATCHES', '__', 'STRING')
>>> "MATCHES__STRING".partition("__")[::2]
('MATCHES', 'STRING')
그리고 조금 더 빨리split("_",1):
$ python -m timeit "'validate_field_name'.split('_', 1)[-1]"
2000000 loops, best of 5: 136 nsec per loop
$ python -m timeit "'validate_field_name'.partition('_')[-1]"
2000000 loops, best of 5: 108 nsec per loop
타임릿 라인은 이 답변을 기반으로 합니다.
언급URL : https://stackoverflow.com/questions/3475251/split-a-string-by-a-delimiter-in-python
반응형
'programing' 카테고리의 다른 글
| 다음 오류로 인해 super()가 실패합니다.상위 항목이 개체에서 상속되지 않은 경우 TypeError "인수 1은 classobj가 아닌 유형이어야 합니다" (0) | 2022.09.29 |
|---|---|
| URI의 마지막 경로세그먼트를 취득하는 방법 (0) | 2022.09.29 |
| MySQL/Mariadb 문제: "Group by" 앞에 "Order by DESC"가 표시됨 (0) | 2022.09.27 |
| 이행이 라라벨로 동작하도록 하려면 "composer dump-autoload" 명령을 실행해야 하는 이유는 무엇입니까? (0) | 2022.09.27 |
| Vuex 상태에서 반응형 어레이를 동적으로 생성 (0) | 2022.09.27 |