0
기호가 목록에없는 문자 나 기호로 구분 된 경우에만 특수 기호 /#$%^&*@
을 제거하는 문자열을 정리해야합니다. 예 :기호를 제거하여 문자열 청소
H8e%&l6&%[email protected] [email protected]/9^65$n228d w%e60$$#&[email protected]/c6o5m3e --> Hello and welcome
I1^/0^^@9t #$%% i/@4#s 11P17/9$M 5^&* a^$45$5$0n&##^4d 6^&&* I $%^$%^ [email protected]@94%3*m t3120i36&^1r2&^##0e&^d ---> It #$%% is 11PM 5^&* and 6^&&* I $%^$%^ am tired
,. a3%2%1/3$s*0. d8^! -->,. as. d!
##%12Symbols on the left must remain untouched --> ##%12Symbols on the left must remain untouched
가 나는 re.sub
을 사용하여 할 수 있다고 파악 :
import re
def _correct_message(message):
new_final_string = re.sub("(?<=[a-zA-Z\.\!])[/#\$\%\^\&\*\@]+(?=[a-zA-Z\.\!])", '', message)
return new_final_string
을하지만 목록 .!.?
수동으로하지 않은 내가 기호를 추가해야한다는 사실을 좋아하지 않는다 . regex
없이 만들 수 있습니까?
당신은 문자열을 반복 할 수 공간이 모든 일치를 대체 각 문자를 확인하고 그렇지 않으면 제거하십시오. – Nicolas
그냥 정규식을 돕기 위해 : 다음 웹 사이트를보십시오 : https://regex101.com 그것은 정규 표현식을 번역합니다. –