前言

我们已经学习了《Python核心技术——重新定义列表和元组》和《Python核心技术——重新认识字典和集合》。 今天我们就来了解一下无处不在的字符串(strings),比如打印日志、程序中函数的注释、访问数据库、对变量的基本操作等等python字符串替换指定字符串,都用到了字符串。

python字符串替换指定字符串_批量字符替换器_替换几个字符

字符串基础

什么是字符串? 字符串是单个字符的序列,通常用单引号 ('')、双引号 ("") 或三引号(''' ''' 或 """ """python字符串替换指定字符串,两者相同)括起来,例如如下面的写法。

name =''小小码农''
city = '北京'
text = ''''"你好,欢迎大家评论和转发"''''

这里定义了name、city、text三个变量,都是字符串类型。 我们知道Python中单引号、双引号、三引号里面的字符串是完全一样的,没有区别。 Python的三引号字符串主要用在多行字符串的情况下,比如函数注释等。

Python转义字符

Python 支持转义字符。 所谓转义符就是一个以反斜杠开头的字符串,表示一些具有特定含义的字符。 我将常见的转义字符总结到下表中。

批量字符替换器_python字符串替换指定字符串_替换几个字符

为了方便大家理解,我举个例子来说明

s = 'anbtc'
print(s)
# 运行结果
a
b   	c

这段代码中的'n'代表一个字符——换行符; 't' 也代表一个字符——水平制表符。 因此,最终打印输出的是字符a,换行符,字符b,然后是制表符,最后打印字符c。 但是请注意,尽管最终打印输出跨越两行,但整个字符串 s 仍然只有 5 个元素。

字符串的常用操作

Python 字符串支持索引、切片和遍历等操作。

name = 'jason'
#索引
name[0]
'j'
# 切片
name[1:3]
'as'

与其他数据结构如列表、元组一样,字符串的索引也是从0开始,index=0表示第一个元素(字符),[index:index+2]表示索引元素到index+1组成的子串的元素。

遍历一个字符串也很简单,相当于遍历字符串中的每一个字符。

name = 'jason'
for char in name:
    print(char) 
#运行结果
j
a
s
o
n

在 Python 中更改字符串通常只能通过创建新字符串来完成。 比如我们要把'hello'的第一个字符'h'改成大写的'H',可以用下面的方法:

s = 'H' + s[1:]
s = s.replace('h', 'H')

Python 在处理时重新创建新字符串。 因此,每次要改变一个字符串,往往需要O(n)的时间复杂度,其中n是新字符串的长度。

字符串格式化

什么是字符串格式化?

通常,我们使用字符串作为模板,模板中会有格式字符。 这些格式化程序为后续的实数值保留位置,以表示该实数值应该出现的格式。字符串的格式化通常用于程序输出和日志记录等场景。

举一个常见的例子。 比如我们有一个任务,给定一个用户的userid,我们需要在数据库中查询该用户的一些信息并返回。 而如果数据库中没有这个人的信息,我们通常会记录下来,有利于日后的日志分析,或者调试线上bug等。

print('no data available for person with id: {}, name: {}'.format(id, name))

其中的string.format()就是所谓的格式化函数; 而大括号{}就是所谓的格式说明符,用来为后面真正的值——变量名预留位置。 如果 id = '123', name='jason',那么输出将是:

'no data available for person with id: 123, name: jason'

替换几个字符_python字符串替换指定字符串_批量字符替换器