python 字符串通常有单引号('...')、双引号("...")、三引号("""...""")或('''...''')包围,三引号包含的字符串可由多行组成,一般可表示大段的叙述性字符串。在使用时基本没有差别,但双引号和三引号("""...""")中可以包含单引号,三引号 ('''...''')可以包含双引号,而不需要转义。
1:截取字符串
str = '12345678'
print str[0:1]
>> 1 # 输出str位置0开始到位置1以前的字符
print str[1:6]
>> 23456 # 输出str位置1开始到位置6以前的字符
num = 18
str = '0000' + str(num) # 合并字符串
print str[-5:] # 输出字符串右5位
>> 00018
print str[0:1]
>> 1 # 输出str位置0开始到位置1以前的字符
print str[1:6]
>> 23456 # 输出str位置1开始到位置6以前的字符
num = 18
str = '0000' + str(num) # 合并字符串
print str[-5:] # 输出字符串右5位
>> 00018
2:替换字符串
str = 'akakak'
str = str.replace('k',' 8') # 将字符串里的k全部替换为8
print str
>> 'a8a8a8' # 输出结果
str = str.replace('k',' 8') # 将字符串里的k全部替换为8
print str
>> 'a8a8a8' # 输出结果
3:查找字符串的位置
sStr1 = 'strchr'
sStr2 = 'strch'
print sStr1.index(sStr2)
sStr2 = 'strch'
print sStr1.index(sStr2)
或
str = 'a,hello'
print str.find('hello') # 在字符串str里查找字符串hello
>> 2 # 输出结果
print str.find('hello') # 在字符串str里查找字符串hello
>> 2 # 输出结果
4:分割字符串成数组
str = 'a,b,c,d'
strlist = str.split(',') # 用逗号分割str字符串,并保存到列表
for value in strlist: # 循环输出列表值
print value
>> a # 输出结果
>> b
>> c
>> d
strlist = str.split(',') # 用逗号分割str字符串,并保存到列表
for value in strlist: # 循环输出列表值
print value
>> a # 输出结果
>> b
>> c
>> d
5:去掉字符串中的字符
a.strip(',<\/OutData>').lstrip('<OutData>') #特殊字符用 \ 转义
或
#去掉中间的'_',其他符号都是可以的,如:'.',',',';'
test_strC = 'hello_for_our_world'
test_strA = ''.join(test_strA.split('_'))
print('hello_world去掉中间的\'_\':', test_strA)
test_strC = 'hello_for_our_world'
test_strA = ''.join(test_strA.split('_'))
print('hello_world去掉中间的\'_\':', test_strA)
6:大小写转换
#小写转大写
low_strs = low_strs.upper()
print('abcd小写转大写:', low_strs)
#大写转小写
uper_strs = uper_strs.lower()
print('DEFG大写转小写:', uper_strs)
#只大写第一个字母
test_strB = test_strB[0].upper() + test_strB[1:]
print('goodBoy只大写第一个字母:', test_strB)
low_strs = low_strs.upper()
print('abcd小写转大写:', low_strs)
#大写转小写
uper_strs = uper_strs.lower()
print('DEFG大写转小写:', uper_strs)
#只大写第一个字母
test_strB = test_strB[0].upper() + test_strB[1:]
print('goodBoy只大写第一个字母:', test_strB)
7:字符串中某个子串出现的次数
str = 'Hello, world'
>>> str.count('o')
>>> 2
>>> str.count('o')
>>> 2
8:len(str) //返回字符串长度
9:字符串与数字相互转换
import string
string.atoi(str[,base]) //base为可选参数,表示将字符转换成的进制类型
数字转换成字符串可简单了,直接用str()
string.atoi(str[,base]) //base为可选参数,表示将字符转换成的进制类型
数字转换成字符串可简单了,直接用str()
10:字符与ASCII转换
char->ascii ord()
ascii->char chr()
ascii->char chr()
11:比较字符串(相等为0,不等为1)
sStr1 = 'strchr'
sStr2 = 'strch'
print cmp(sStr1,sStr2)
sStr2 = 'strch'
print cmp(sStr1,sStr2)
12:比较字符串相同的个数
sStr1 = 'strchr'
sStr2 = 'strc'
print len(sStr1 and sStr2) #4
sStr2 = 'strc'
print len(sStr1 and sStr2) #4
13:字符串倒序
sStr1 = 'strchr'
print sStr1[::-1]
print sStr1[::-1]
14:字符串可+=
15:字符串数组转成数字数组
data="1,2,3"
strlist = [int(x) for x in data.split(',')]
strlist = [int(x) for x in data.split(',')]