这篇教程Python中的字符串处理方法写得很实用,希望能帮到您。
字符串的定义
字符串的意思就是“一串字符”,比如"Hello, Python" 是一个字符串,"How are you?" 也是一个字符串。
Python 要求字符串必须使用英文的引号括起来,使用单引号也行,使用双引号也行,它们没有任何区别,只要两边的引号能配对即可。
在Python 中,字符串是不可变类型,即无法直接修改字符串中的字符,因此改变一个字符串的元素需要新建一个新的字符串。所有的增删改都是对原字符串拷贝的副本的操作,达到“看起来修改”的效果。原来的字符串还是原来的字符串,它本身并没有变。
str1 = " i love python"
str2 = str1.strip()
print(str1)
print(str2)
print(id(str1))
print(id(str2))
i love python
i love python
2920065468432
2920064138672
字符串的常用操作
一、拼接字符串
使用+ 可以对多个字符串进行拼接 语法格式:str1 + str2
str1 = "abc"
str2 = "123"
print(str1 + str2)
需要注意的是字符串不允许直接与其他类型进行拼接,例如:
a = "abc"
b = 1
print(a + b)
Traceback (most recent call last):
File "C:/Users/Administrator/PycharmProjects/python基础/test.py", line 3, in <module>
print(a + b)
TypeError: can only concatenate str (not "int") to str
上面这种情况我们可以将非字符串类型转换成字符串类型再进行拼接:
a = "abc"
b = 1
print(a + str(b))
abc1
二、计算字符串的长度
在Python中使len() 函数来计算字符串的长度
语法格式:len(string)
a = "python"
print(len(a))
6
三、截取字符串
语法格式:string[start_index: stop_index: step]
a = "I Love Python"
print(a[0])
I
四、分割字符串
python中分割字符串是使用split()方法把字符串分割成列表 语法格式: str.split(sep, maxsplit)
参数说明:
str :表示要进行分割的字符串
sep :用于指定分隔符,可以包含多个字符,默认为None,即所有空字符(包括空格、换行"\n”、制表符“\t”等),默认情况下按空格分割
maxsplit :可选参数,用于指定分割的次数,如果不指定或者为-1,则分割次数没有限制,否则返回结果列表的元素个数最多为maxsplit+1
- 返回值:分隔后的字符串列表。
```
str1 = "i am a trader"
print(str1.split())
# 采用默认分割符进行分割
['i', 'am', 'a', 'trader'] ```
```
str1 = "i am a trader"
print(str1.split(" "))
# 采用空格进行分割
['i', 'am', 'a', 'trader'] ```
```
str1 = "BTC-USDT-210326"
print(str1.split("-"))
# 采用"-"进行分割
['BTC', 'USDT', '210326'] ```
五、检索字符串
python 中字符串的查找方法
1、count() 方法
语法格式:str.count(sub[, start[, end]]) 作用:用于检索指定字符串在另一个字符串中出现的次数,如果检索的字符串不存在则返回0,否则返回出现的次数。 参数说明
str :表示原字符串
sub :表示要检索的子字符串
start :可选参数,表示检索范围的起始位置的索引,如果不指定,则从头开始检索
end :可选参数,表示检索范围的结束位置的索引,如果不指定,则一直检索到结尾
str1 = "hello world"
print(str1.count('o'))
2
2、find() 方法
语法格式:str.find(sub[, start[, end]]) 作用:检索是否包含指定的字符串,如果检索的字符串不存在则返回-1,否则返回首次出现该字符串时的索引。
str1 = "hello world!"
print(str1.find('wo'))
6
3、index() 方法
语法格式:str.index(sub[, start[, end]]) 作用:和find 方法类似,也用于检索是否包含指定的字符串,使用index 方法,当指定的字符串不存在时会抛异常。
str1 = "hello world!"
print(str1.index('w'))
6
4、startswith() 方法
语法格式:str.startswith(prefix[, start[, end]]) 作用:检索字符串是否以指定的字符串开头,如果是则返回True ,否则返回False 。
str1 = "hello world!"
print(str1.startswith('hello'))
True
str1 = "hello world!"
print(str1.startswith('hi'))
False
5、endswith() 方法
语法格式:str.endswith(prefix[, start[, end]]) 作用:检索字符串是否以指定的字符串结尾,如果是则返回True ,否则返回False 。
str1 = "hello world!"
print(str1.endswith('world!'))
True
str1 = "hello world!"
print(str1.endswith('love'))
False
6、in 方法和not in 方法
作用:判断元素是否存在,返回值为True 或者False
str = "i love the world"
print("love" in str)
True
str = "i love the world"
print("love" not in str)
False
六、字符串的大小写转换
1、lower() 方法
语法格式:str.lower() 作用:将字符串中的大写字母转换为小写字母
str1 = "Hello World!"
print(str1.lower())
hello world!
2、upper() 方法
语法格式:str.upper() 作用:将字符串中的小写字母转换为大写字母
str1 = "Hello World!"
print(str1.upper())
HELLO WORLD!
七、去除字符串中的空格和特殊字符
1、strip() 方法
语法格式:str.strip([chars]) 作用:去除字符串前后(左右侧)的空格或特殊字符
str1 = " hello world! "
print(str1.strip())
hello world!
str2 = "#hello world#@#"
print(str2.strip('#'))
hello world#@
str3 = "@hello world!@."
print(str3.strip('@.'))
hello world!
2、lstrip() 方法
语法格式:str.lstrip([chars]) 作用:去除字符串左侧的空格或特殊字符
3、rstrip() 方法
语法格式:str.rstrip([chars]) 作用:去除字符串右侧的空格或特殊字符
八、格式化字符串
% 操作符以及format 函数
九、替换
语法格式:str.replace(old, new[, max])
作用:将旧字符串替换后生成新的字符串
str = "i love the world"
print(str.replace("love", "hate"))
i hate the world
十、复制
1.使用= 复制字符串,复制后的字符串与原字符串是同一个对象,它们的内存地址相同。
a = "quant"
b = a
print(a)
print(b)
print(id(a))
print(id(b))
quant
quant
2085792342120
2085792342120
2.使用* 使对象自身按指定次数进行+ 操作
print("*" * 99)
***************************************************************************************************
python按条件替换json键值 Python运行报SyntaxError: Non-UTF-8 code starting with '\xe5' in file的解决方法 |