python - 正则表达式替换第一个和最后一个字符

标签 python regex replace

什么是用转义反斜杠后跟双引号 (\") 替换字符串中双引号 (") 的正则表达式,除了字符串的第一个和最后一个字符。

示例 1:在字符串中嵌入双引号

Input: "This is a "Test""
Expected Output: "This is a \"Test\""

例子2:字符串中间没有双引号

Input: "This is a Test"
Expected Output: "This is a Test"

当我在 python 中执行 re.sub() 操作时,包括第一个和最后一个双引号字符在内的所有内容都将被替换。在我上面的示例中,输出字符串变为:\"This is a Test\"。

最佳答案

我不了解你,但我会用简单的方法来做:

'"{}"'.format(s[1:-1].replace('"',r'\"'))

当然,这做出了一大堆假设——最强的假设是第一个和最后一个字符总是双引号......

也许这样更好一些:

'{0}{1}{2}'.format(s[0],s[1:-1].replace('"',r'\"'),s[-1])

它保留第一个和最后一个字符并转义中间的所有双引号。

关于python - 正则表达式替换第一个和最后一个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16139471/

相关文章:

python - 超出范围后,文件句柄是否会在 Python 中自动关闭?

python - 模块'对象没有属性 'SelectDateWidget'

java - 用于从文本文件中删除 '-1' 的正则表达式

java - REGEX 匹配多个条件

regex - Visual Studio 查找和替换正则表达式帮助

python - 如何使用字典重命名列?

python - 删除管道之前的所有字符,并使用 python 中的正则表达式删除管道

regex - html2js stripPrefix 基于用户的正则表达式

regex - 在 Notepad++ 中寻求正则表达式以仅在两个引号 ["] 之间搜索和替换 CRLF

c# - 使用正则表达式替换字符但不替换转义字符