\n
을 인쇄 된 출력에 표시하려면 후행 + 선행이없이 '
이 필요합니다. 현재 repr
(열기 + 읽기 .txt)을 사용하고 있으므로 적절한 색인 생성/검색을 위해 '
을 제거하는 가장 좋은 방법이 궁금합니다.앞뒤 인용 부호가없는 repr()?
repr('s')[1:-1]
repr('s').strip("'")
불행하게도 일부 문자는 내가 repr
같은 '
로를 사용하여 도주 원하지 않는 이스케이프되고있다.
\n
을 인쇄 된 출력에 표시하려면 후행 + 선행이없이 '
이 필요합니다. 현재 repr
(열기 + 읽기 .txt)을 사용하고 있으므로 적절한 색인 생성/검색을 위해 '
을 제거하는 가장 좋은 방법이 궁금합니다.앞뒤 인용 부호가없는 repr()?
repr('s')[1:-1]
repr('s').strip("'")
불행하게도 일부 문자는 내가 repr
같은 '
로를 사용하여 도주 원하지 않는 이스케이프되고있다.
당신은 왜 이것을하고 싶지는 않지만 데이터베이스 나 .csv
파일에 문자열을 저장할 계획 인 것으로 추측하고 라인 피드와 같은 비 인쇄 문자는 원하지 않습니다. SQL 해석기와 같은 다른 도구를 잘못 만들 수 있기 때문에 데이터에
정확한 예상 인 경우 인용 부호와 백 슬래시와 같이 이스케이프 처리하지 않으려는 문자를 이스케이프 처리하므로 repr()
을 사용하지 마십시오. 대신, 당신이 인용하고 싶지 않은 인쇄 문자를 결정하십시오 (나는 유일한 가능성이있는 문자가 \n
과 \t
)라고 생각하고 직접 대체하십시오.
fixed_s = s.replace("\n",r"\n").replace("\t",r"\t")
그러나 문자열을 일반적인 파이썬 사전 키로 사용하는 경우 조작하지 마시고 그대로 사용하십시오.
당신은'\ n'을 탈출하고 싶을뿐입니다! 'replace '를 사용하는 것이 이제는 분명해 보입니다 ... 왜'r "\ n"'대''\\ n "'입니까? – JBallin
두 가지 답변. (1) 정규 표현식과 Windows 경로를 많이 사용합니다. 그래서 원시 문자열은'\'이스케이프 문자보다 훨씬 자연스럽게 나에게옵니다. (2)이 경우 검색 문자열과 대체 문자열 간의 유일한 차이는 원시성이므로 유일한 문자 문자열 사용은 replace()의 의도를 강조합니다. – BoarGules
당신이 옳다는 것이 확실합니다. 고맙습니다! – JBallin
repr()
을 조기에 사용하고 있습니다. 입력이 아닌 출력에 사용하도록되어 있습니다.
print
문에 repr(string)
을 입력하고 입력에서 제거하십시오.
* "strip is deprecated"* 인용이 필요합니다. 'strip'도's'의 사본을 만듭니다. – vaultah
'print (string)'또는 문자열을 직접 사용하십시오.이 용도로 사용할 수 없습니다. – TemporalWolf
'string.strip'은 더 이상 사용되지 않지만 ['str.strip'] (https://docs.python.org/2/library/stdtypes.html#str.strip)은 지원되지 않습니다. – vaultah