如何将"\"字符串添加到字符串中?
例如,如果我有"testme",我做
"testme"+"\"
Run Code Online (Sandbox Code Playgroud)
我会收到一个错误.
"\"在字符串中每个paren之前添加a的"pythonic"方法是什么?
比如来自 "(hi)" to "\(hi\)"
我目前的方法是迭代每个字符并尝试追加一个"\"我觉得不是"pythonic"的字符串
反斜杠用于转义各种字符,因此要在字符串中包含需要使用的文字反斜杠"\\",例如:
>>> print "testme" + "\\"
testme\
Run Code Online (Sandbox Code Playgroud)
因此,要在字符串中的每个paren之前添加反斜杠,您可以使用以下内容:
s = s.replace('(', '\\(').replace(')', '\\)')
Run Code Online (Sandbox Code Playgroud)
或者使用正则表达式:
import re
s = re.sub(r'([()])', r'\\\1', s)
Run Code Online (Sandbox Code Playgroud)
请注意,您还可以通过r在开头引号之前添加字母来使用原始字符串文字,这使得反斜杠按字面解释并且不会进行转义.所以r'foo\bar'会一样的'foo\\bar'.所以你可以重写第一种方法,如下所示:
s = s.replace('(', r'\(').replace(')', r'\)')
Run Code Online (Sandbox Code Playgroud)
请注意,即使在原始字符串文字中,您也可以使用反斜杠来转义用于字符串文字的引号,因此r'we\'re'与'we\'re'或相同"we're".这就是为什么原始字符串文字在你希望最后一个字符是一个反斜杠时效果不好的原因r'testme\'(这将是一个语法错误,因为字符串文字从不关闭).
| 归档时间: |
|
| 查看次数: |
165 次 |
| 最近记录: |