반응형
문자열에서 영숫자가 아닌 모든 문자 교체
(az 또는 0-9)와 같은 표준 문자 나 숫자가 아닌 문자를 별표로 바꾸려는 문자열이 있습니다. 예를 들어, "h ^ & ell`., | ow] {+ orld"는 "h * ell * o * w * orld"로 대체됩니다. "^ &"와 같은 여러 문자는 하나의 별표로 대체됩니다. 어떻게하면 되나요?
구조에 정규식!
import re
s = re.sub('[^0-9a-zA-Z]+', '*', s)
예:
>>> re.sub('[^0-9a-zA-Z]+', '*', 'h^&ell`.,|o w]{+orld')
'h*ell*o*w*orld'
비단뱀적인 방법.
print "".join([ c if c.isalnum() else "*" for c in s ])
이것은 일치하지 않는 여러 연속 문자를 그룹화하는 것을 다루지 않습니다.
"h^&i => "h**i
하지 "h*i"
정규식 솔루션으로.
사용 \W
하는 것과 같습니다 [^a-zA-Z0-9_]
. https://docs.python.org/2/library/re.html 문서를 확인하십시오.
Import re
s = 'h^&ell`.,|o w]{+orld'
replaced_string = re.sub(r'\W+', '*', s)
output: 'h*ell*o*w*orld'
업데이트 :이 솔루션은 밑줄도 제외합니다. 알파벳과 숫자 만 제외하려면 nneonneo의 솔루션이 더 적합합니다.
시험:
s = filter(str.isalnum, s)
Python3에서 :
s = ''.join(filter(str.isalnum, s))
편집 : OP가 문자가 아닌 문자를 '*'로 바꾸고 싶다는 것을 깨달았습니다. 내 대답이 맞지 않아
참고 URL : https://stackoverflow.com/questions/12985456/replace-all-non-alphanumeric-characters-in-a-string
반응형
'Programing' 카테고리의 다른 글
R에서 상관 행렬을 어떻게 만들 수 있습니까? (0) | 2020.09.20 |
---|---|
터미널 Mac OS X에서 원격으로 SSH SCP 로컬 파일 (0) | 2020.09.20 |
Asp.net WEBAPI에서 명시 적으로 JSON 문자열을 반환합니까? (0) | 2020.09.20 |
이벤트 핸들러 실행 순서 (0) | 2020.09.20 |
데이터 프레임의 선택한 열에서 NA (결측) 값을 포함하는 행의 하위 집합 (0) | 2020.09.20 |