python中字符串可以(且仅可以)使用成对的单引号、双引号、三个双引号(文档字符串)包围:
'this is a book'
"this is a book"
"""this is a book"""

可在单引号包围的字符串中包含双引号,三引号等,但不能包含单引号自身(需转义)
'this is a" book'
'this is a"" book'
'this is a""" book'
'this is a' book'
也可多单引号中的双引号转义,但通常没什么必要和意义
'this is a" book'

同理,双引号中可包含单引号,但不能包含双引号以及由双引号构成的三引号
"this is a' book"
"this is a" book"
也可对双引号中的单引号进行转义,但同样,这通常没有必要也没有意义
"this is a' book"

现在还有一个问题,如果我想在单引号包围的字符串中显示“'”呢,答案是分别对“”和“'”进行转义,也即要想在字符串中显示“”这个特殊字符,需对特殊字符本身进行转义,其他特殊字符类似。

s='this is a' book'
print s
this is a' book

s='this is a\' book'
print s
this is a' book

要显示多少次“”就要对“”进行多少次转义:

s='this is a\\' book'
print s
this is a\' book

同样,想在双引号包围的字符串中显示“"”也要分别对“”和“"”进行转义。

s="this is a\" book"
print s
this is a" book

说到这里,有必要谈一谈字符串中“'”和“"”的替换问题,也即字符串本身是包含这样的子串的,比如:

s='this is a\' book'
s
"this is a\' book"
print s
this is a' book

这里的字符串中包含“'”这样一个子串,现在想把这个子串替换为“@@@”

s=s.replace('\'','@@@')
s
'this is a@@@ book'
print s
this is a@@@ book
也即在书写将被替换的子串时,也需对特殊的字符进行转义,s=s.replace('\'','@@@')中经转义后,最终的字符串中将被替换掉的子串为“'”.

双引号中含有特殊字符的子串的替换遵循同样的原理。

另外需要注意的是,想要知道字符串最终的样子则应当使用print函数将其打印出来,以免混淆。

s='this is a\' book'
s
"this is a\' book"
print s
this is a' book

转自http://blog.csdn.net/zyz511919766/article/details/22668077

python字符串中的单双引的更多相关文章

  1. python字符串中的转义符

    python字符串中的转义符 1,单引号,双引号,三引号 a='www.96net.com.cn',b="96net.com.cn",c="""96n ...

  2. python字符串中的中文处理

    python字符串中的字符串默认并非是unicode,如果在字符创中使用Unicode字符,如中文字符,必须要经过转换, 方式1: text = u"中文" 方式2: text = ...

  3. JS中字符串拼装 单双引号的处理 字符转义

    js中可能会用到动态追加元素,可能数据也是从后台传过来的,当然有两种思路, 1.在后台拼装好直接返回; 2.在前台js里面拼装, 如果拼装大量的html时可能单双引号就容易出问题;那么如何解决呢?最近 ...

  4. python笔记22-literal_eval函数处理返回json中的单双引号

    前言 在做接口测试的时候,最常见的接口返回数据就是json类型,json类型数据实际上就是字串,通常标准的json格式是可以转化成python里面的对应的数据类型的 有时候开发返回的数据比较坑,不按常 ...

  5. Python序列内单双引的问题——未解决

    在学习python基础的时候,遇到这样一个问题: tuple=(2,2.3,"yeah",5.6,False)list=[True,5,"smile"] 这样输 ...

  6. PHP中使用单双引号的区别

    1,双引号可以解析变量,单引号不可以解析: 2,双引号解析转义字符,单引号不解析转义,但是可以解析 \'  和  \\ ; 3,单双引号不能自己套自己,要嵌套使用,避免混乱: 4,单引号效率更高,能使 ...

  7. Python: 字符串中嵌入变量

    问题:想创建一个内嵌变量的字符串,变量被它的值替换掉 解决方案: ①Python并没有对在字符串中简单替换变量值提供直接的支持,但是通过字符串的format()方法来解决这个问题 ②如果要被替换的变量 ...

  8. Leecode刷题之旅-C语言/python-434 字符串中的单词数

    /* * @lc app=leetcode.cn id=434 lang=c * * [434] 字符串中的单词数 * * https://leetcode-cn.com/problems/numbe ...

  9. JS中单引號/双引號以及外部js引入的一些问题

    一.单引號和双引號的使用方法的问题 在JavaScript中能够使用单引號.双引號.二者也能够混合使用. 可是,身为菜鸟的我,却碰到了一些引號的使用问题. <body> <div s ...

随机推荐

  1. C#的WebBrowser操作frame

    刚学c#不久,也不太懂什么IHTMLDocument.IHTMLDocument2.IWebBrowser2等等.自己琢磨了好久,终于知道了怎么用WebBrowser操作frame和iframe. 1 ...

  2. java Web(4)

    Web 应用程序状态管理 通过隐藏表单域 hidden,cookie,session,重写URL来实现: cookie存在于客户端,浏览器关闭时失效 cookie原理:服务器在响应请求时将一些数据以“ ...

  3. logger日志

    Level 描述 ALL 各级包括自定义级别 DEBUG 指定细粒度信息事件是最有用的应用程序调试 ERROR 错误事件可能仍然允许应用程序继续运行 FATAL 指定非常严重的错误事件,这可能导致应用 ...

  4. Idea 类注释和方法注释

    类注释 先打开Settings > Editor > File and Code Templates Includes Includes File Header 再随机新建个类就有类注释 ...

  5. Hexo系列(四) NexT主题配置

    Hexo 框架允许我们更换合适的主题,以便于构建不同风格的网站,这里介绍目前最常使用的一款主题之一 -- NexT 一.NexT 安装 在正式开始讲解 NexT 安装之前,我们必须明确以下几个概念: ...

  6. Oracle数据库的性能调整

    oracle是一个高性能数据库软件.用户可以通过参数的调整,达到性能的优化.性能优化主要分为两部分:一是数据库管理员通过对系统参数的调整达到优化的目的,二是开发人员通过对应用程序的优化达到调整的目的. ...

  7. sqlalchemy根据表名动态创建model类

    作用如题,直接上代码吧,另外还支持 copy一张表的表结构,新建表并获得model对象 # coding: utf-8 import traceback from sqlalchemy import ...

  8. CSS行高line-height的学习

    一.定义和用法 line-height 属性设置行间的距离(行高). 可能的值 normal默认.设置合理的行间距. number设置数字,此数字会与当前的字体尺寸相乘来设置行间距. length设置 ...

  9. Official Documents

    1. Docker Installation https://docs.docker.com/install/linux/docker-ee/suse/ 2. Docker hub https://d ...

  10. [Cypress] Find and Test Focused Input with Chrome’s DevTools in Cypress

    In this lesson, we’ll add tests that finds a focused input. We’ll use Chrome’s dev tools from inside ...