>  기사  >  백엔드 개발  >  사전을 사용하여 여러 문자열 발생을 바꾸는 방법은 무엇입니까?

사전을 사용하여 여러 문자열 발생을 바꾸는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-10-19 16:03:02509검색

How to Replace Multiple String Occurrences Using a Dictionary?

여러 문자열 항목을 사전 값으로 바꾸기

프로그래밍 시나리오에서는 특정 단어나 구문의 여러 항목을 바꿔야 할 수도 있습니다. 제공된 사전을 사용하여 문자열 내에서.

예를 고려해 보겠습니다.

<code class="python">d = {
    'Спорт':'Досуг',
    'russianA':'englishA'
}

s = 'Спорт russianA'</code>

작업은 문자열 's'에서 사전 'd'의 키 모양을 각각 바꾸는 것입니다. 해당 사전 값으로. 이 예제의 예상 결과는 'Досуг englishA'입니다.

정규 표현식을 사용한 솔루션

Python의 내장 정규 표현식 모듈 're'를 활용하면 이를 달성할 수 있습니다. 효율적인 교체:

<code class="python">import re

s = 'Спорт not russianA'
d = {
'Спорт':'Досуг',
'russianA':'englishA'
}

# Escape special characters in dictionary keys
keys = (re.escape(k) for k in d.keys())

# Construct a regex pattern with alternating ключей
pattern = re.compile(r'\b(' + '|'.join(keys) + r')\b')

# Perform substitutions using the provided dictionary
result = pattern.sub(lambda x: d[x.group()], s)</code>

이 접근 방식은 're.sub' 메서드를 사용하여 일치 항목을 'd' 사전의 값으로 대체합니다. 이스케이프된 '경계' 메타 문자('b')를 사용하여 전체 단어만 일치하도록 합니다.

부분 일치 확장

사전에 일부 단어가 포함된 경우 단어를 다른 단어의 하위 문자열로 사용하는 경우 정규식 패턴을 생성하기 전에 키를 길이별로 내림차순(가장 큰 것에서 가장 작은 것까지) 정렬하는 것이 좋습니다. 이렇게 하면 더 큰 단어 대신 하위 문자열이 일치하는 것을 방지할 수 있습니다.

위 내용은 사전을 사용하여 여러 문자열 발생을 바꾸는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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