您当前的位置:首页 > IT编程 > python
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch |

自学教程:Python中的字符串处理方法

51自学网 2022-06-15 10:31:17
  python
这篇教程Python中的字符串处理方法写得很实用,希望能帮到您。

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的解决方法
51自学网,即我要自学网,自学EXCEL、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。
京ICP备13026421号-1