python 字符串使用总结

本文详细介绍了Python中字符串的表示方式及各种操作方法,包括字符串的创建、复制、连接、查找等,并提供了丰富的示例代码。此外,还讲解了字符串与数字、字符与ASCII之间的转换。

1.python 字符串通常有单引号(’…’)、双引号(”…”)、三引号(”"”…”"”)或(”’…”’)包围,三引 号包含的字符串可由多行组成,一般可表示大段的叙述性字符串。在使用时基本没有差别,但双引号和三引号(”"”…”"”)中可以包含单引号,三引号 (”’…”’)可以包含双引号,而不需要转义。

 

2.用(/)对特殊字符转义,如(/)、(’)、(”)。

 

3.常用字符串函数

(1) str.count() //返回该字符串中某个子串出现的次数

(2) str.find()   //返回某个子串出现在该字符串的起始位置

(3) str.lower() //将该字符串全部转化为小写

(4) str.upper() //转为大写

(5) str.split() //分割字符串,返回字串串列表,默认以空格分割

(6) len(str)     //返回字符串长度

例如:

>>> str = ‘Hello, world’

>>> str.count(‘o’)

>>> 2

>>> str.find(‘lo’)

>>> 3

>>> str.lower()

>>> ‘hello, world’

>>> str.upper()

>>> ‘HELLO, WORLD’

>>> str.split()

>>> ['Hello,', 'world']

>>> str.split(‘,’)

>>> ['Hello', ' world']

>>> len(str)

>>> 13

>>> str

>>> ‘Hello, world’

以上所有操作都不会改变字符串本身!

 

4.字符串与数字相互转换

import string

string.atoi(str[,base]) //base为可选参数,表示将字符转换成的进制类型

数字转换成字符串可简单了,直接用str()

 

5.字符与ASCII转换

char->ascii ord()

ascii->char chr()

 

Python字符串操作


1.复制字符串

#strcpy(sStr1,sStr2)

sStr1 = ’strcpy’

sStr2 = sStr1

sStr1 = ’strcpy2′

print sStr2

2.连接字符串

#strcat(sStr1,sStr2)

sStr1 = ’strcat’

sStr2 = ‘append’

sStr1 += sStr2

print sStr1

3.查找字符

#strchr(sStr1,sStr2)

sStr1 = ’strchr’

sStr2 = ‘r’

nPos = sStr1.index(sStr2)

print nPos

4.比较字符串

#strcmp(sStr1,sStr2)

sStr1 = ’strchr’

sStr2 = ’strch’

print cmp(sStr1,sStr2)

5.扫描字符串是否包含指定的字符

#strspn(sStr1,sStr2)

sStr1 = ‘12345678′

sStr2 = ‘456′

#sStr1 and chars both in sStr1 and sStr2

print len(sStr1 and sStr2)

6.字符串长度

#strlen(sStr1)

sStr1 = ’strlen’

print len(sStr1)

7.将字符串中的小写字符转换为大写字符

#strlwr(sStr1)

sStr1 = ‘JCstrlwr’

sStr1 = sStr1.upper()

print sStr1

8.追加指定长度的字符串

#strncat(sStr1,sStr2,n)

sStr1 = ‘12345′

sStr2 = ‘abcdef’

n = 3

sStr1 += sStr2[0:n]

print sStr1

9.字符串指定长度比较

#strncmp(sStr1,sStr2,n)

sStr1 = ‘12345′

sStr2 = ‘123bc’

n = 3

print cmp(sStr1[0:n],sStr2[0:n])

10.复制指定长度的字符

#strncpy(sStr1,sStr2,n)

sStr1 = ”

sStr2 = ‘12345′

n = 3

sStr1 = sStr2[0:n]

print sStr1

11.字符串比较,不区分大小写

#stricmp(sStr1,sStr2)

sStr1 = ‘abcefg’

sStr2 = ‘ABCEFG’

print cmp(sStr1.upper(),sStr2.upper())

12.将字符串前n个字符替换为指定的字符

#strnset(sStr1,ch,n)

sStr1 = ‘12345′

ch = ‘r’

n = 3

sStr1 = n * ch + sStr1[3:]

print sStr1

13.扫描字符串

#strpbrk(sStr1,sStr2)

sStr1 = ‘cekjgdklab’

sStr2 = ‘gka’

nPos = -1

for c in sStr1:

if c in sStr2:

nPos = sStr1.index(c)

break

print nPos

14.翻转字符串

#strrev(sStr1)

sStr1 = ‘abcdefg’

sStr1 = sStr1[::-1]

print sStr1

15.查找字符串

#strstr(sStr1,sStr2)

sStr1 = ‘abcdefg’

sStr2 = ‘cde’

print sStr1.find(sStr2)

16.分割字符串

#strtok(sStr1,sStr2)

sStr1 = ‘ab,cde,fgh,ijk’

sStr2 = ‘,’

sStr1 = sStr1[sStr1.find(sStr2) + 1:]

print sStr1

转载自:缥缈的云[http://www.leexiang.info]

### Python 字符串方法总结与使用指南 #### 一、基本概念 Python 中的字符串是一种不可变的数据类型,用于存储处理文本信息。它们支持多种内置方法来进行高效的字符串操作[^1]。 --- #### 二、常见字符串方法及其功能 以下是 Python 字符串的一些核心方法: 1. **查找与定位** - `str.find(sub[, start[, end]])`:返回子字符串第一次出现的位置;如果未找到,则返回 `-1`。 - `str.rfind(sub[, start[, end]])`:返回子字符串最后一次出现的位置;如果未找到,则返回 `-1`。 - `str.index(sub[, start[, end]])`:类似于 `find()` 方法,但如果找不到则会抛出异常。 - `str.rindex(sub[, start[, end]])`:类似于 `rfind()` 方法,但如果找不到则会抛出异常[^2]。 2. **大小写转换** - `str.lower()`:将字符串中的所有大写字母转换为小写。 - `str.upper()`:将字符串中的所有小写字母转换为大写。 - `str.capitalize()`:将字符串的第一个字符转换为大写,其余部分转换为小写。 - `str.title()`:将字符串中的每个单词首字母大写。 3. **分割与连接** - `str.split(sep=None, maxsplit=-1)`:按照指定分隔符拆分字符串并返回列表。 - `str.join(iterable)`:将序列中的元素以指定的字符连接成一个新的字符串。 4. **替换与修改** - `str.replace(old, new[, count])`:将字符串中的某些子字符串替换为新的子字符串。 - `str.strip([chars])`:移除字符串两端的空白字符或其他指定字符。 - `str.lstrip([chars])` `str.rstrip([chars])`:分别移除左侧或右侧的空白字符。 5. **判断类方法** - `str.startswith(prefix[, start[, end]])`:检查字符串是否以指定前缀开头。 - `str.endswith(suffix[, start[, end]])`:检查字符串是否以指定后缀结尾。 - `str.isalpha()`:检查字符串是否只包含字母。 - `str.isdigit()`:检查字符串是否只包含数字。 - `str.isalnum()`:检查字符串是否只包含字母数字。 6. **格式化** - 使用 `%` 进行简单格式化:适用于较老版本的 Python[^4]。 ```python name = "Alice" age = 25 message = "Name: %s, Age: %d" % (name, age) print(message) # 输出: Name: Alice, Age: 25 ``` - 使用 `str.format()` 或者 f-string 实现更现代的格式化方式[^3]: ```python name = "Bob" age = 30 message_format = "Name: {}, Age: {}".format(name, age) message_f_string = f"Name: {name}, Age: {age}" ``` 7. **其他实用方法** - `str.count(sub[, start[, end]])`:统计子字符串在原字符串中出现的次数。 - `str.encode(encoding='utf-8', errors='strict')`:将字符串编码为字节对象。 - `str.decode(encoding='utf-8', errors='strict')`:解码字节对象为字符串(注意此方法仅限于字节对象)。 --- #### 三、字符串到 JSON 转换 当需要将字符串转化为 JSON 数据结构时,可以借助 Python 的标准库 `json` 模块完成这一过程[^5]: ```python import json data_str = '{"key": "value"}' try: data_json = json.loads(data_str) print(data_json["key"]) # 输出: value except json.JSONDecodeError as e: print(f"JSON 解析错误: {e}") ``` --- #### 四、注意事项 1. 字符串是不可变的对象,因此任何对其的操作都会生成新字符串而非修改原始字符串。 2. 对于复杂的正则表达式匹配任务,建议引入 `re` 模块扩展能力。 3. 在涉及大量字符串拼接的情况下,推荐使用 `''.join(list_of_strings)` 来代替连续的加号 (`+`) 操作,从而提高效率。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值