[python] 원시 Python 문자열에 따옴표를 포함하는 방법

중히 여기다:

>>> r"what"ever"
SyntaxError: invalid syntax
>>> r"what\"ever"
'what\\"ever'

그렇다면 우리는 어떻게 따옴표를 얻지 만 슬래시가 아닌가?

그리고 제안하지 마십시오 r'what"ever'. 왜냐하면 질문은 우리가 두 가지 유형의 따옴표를 어떻게 포함 할 것인가?

관련



답변

문자열에 큰 따옴표를 사용하고 작은 따옴표는 사용하지 않으려면 대신 작은 따옴표를 구분 기호로 사용할 수 있습니다.

r'what"ever'

문자열에 두 가지 종류의 따옴표가 모두 필요한 경우 세 개의 따옴표로 묶인 문자열을 사용하십시오.

r"""what"ev'er"""

문자열에 두 종류의 삼중 따옴표로 묶인 문자열을 포함하려면 (극히 드문 경우) 할 수 없으며 이스케이프와 함께 원시가 아닌 문자열을 사용해야합니다.


답변

파이썬에는 문자열을 처리하는 여러 가지 방법이 있습니다. 다음 문자열 구문을 사용하면 큰 따옴표를 사용할 수 있습니다.

'''what"ever'''


답변

어떤 유형의 인용 (싱글, 더블, 트리플)이 필요한 경우 문자열을 “결합”(0) 할 수 있습니다.

>>> raw_string_with_quotes = r'double"' r"single'" r'''double triple""" ''' r"""single triple''' """
>>> print raw_string_with_quotes
double"single'double triple""" single triple'''

원시 문자열이 아닌 문자열과 “결합”(0) 할 수도 있습니다.

>>> r'raw_string\n' 'non-raw string\n'
'raw_string\\nnon-raw string\n'

(0) : 사실, 파이썬 파서는 문자열을 결합하며 여러 문자열을 생성하지 않습니다. “+”연산자를 추가하면 여러 문자열이 생성되고 결합됩니다.


답변

신경 쓰지 마세요. 답은 삼중 따옴표로 묶인 원시 문자열입니다.

r"""what"ever"""


답변

이 답변을 우연히 발견하고 큰 도움이되었지만 사소한 구문 문제를 발견했기 때문에 다른 사람들의 가능한 좌절감을 구해야한다고 느꼈습니다. 3 중 따옴표로 묶인 문자열은 설명 된대로이 시나리오에서 작동하지만 문자열에서 원하는 “가 문자열 자체의 끝에 발생하는 경우 :

somestr = """This is a string with a special need to have a " in it at the end""""

“” “”(4) 행의 따옴표가 문자열 판독기를 혼동하기 때문에 실행시 오류가 발생합니다. 이미 문자열 끝에 도달했다고 생각한 다음 거기에서 임의의 “를 찾습니다.이를 확인할 수 있습니다. “” “와 같이 4 개의 따옴표에 공백을 삽입하면 오류가 발생하지 않습니다.

이 특별한 경우에는 다음 중 하나를 사용해야합니다.

somestr = 'This.....at the end"'

또는 위에 설명 된 방법을 사용하여 “및 ‘가 혼합 된 여러 문자열을 빌드 한 다음 사실 후에 연결합니다.


답변

새로운 Python f String 호환 기능을 포함하기 위해 :

var_a = 10

f"""This is my quoted variable: "{var_a}". """


답변

사용하다:

dqote='"'
sqote="'"

‘+’연산자를 사용하고 dqotesquote변수를 필요한 것을 얻으십시오.

원하는 경우 sed -e s/",u'"/",'"/g -e s/^"u'"/"'"/다음을 시도 할 수 있습니다.

dqote='"'
sqote="'"
cmd1="sed -e s/" + dqote + ",u'" + dqote + "/" + dqote + ",'" + dqote + '/g -e s/^"u' + sqote + dqote + '/' + dqote + sqote + dqote + '/'