Python字符串相关操作
1. len()
作用:返回字符串、列表等的长度。
示例:
alist = [1, 2, 3, 4, 5]
print(len(alist))
astring = "Ziggy"
print(len(astring))
运行结果:
5
5
2. split()
作用:将字符串拆分成一个字符串列表。
示例:
string1 = "I love rock'n'roll. And you? "
string1_list1 = string1.split()
print("Output string_list1: ", string1_list1)
string1_list2 = string1.split('.')
print("Output string_list2: ", string1_list2)
string1_list3 = string1.split('o', 2)
print("Output string_list3: ", string1_list3)
运行结果:
Output string_list1: ['I', 'love', "rock'n'roll.", 'And', 'you?']
Output string_list2: ["I love rock'n'roll", ' And you? ']
Output string_list3: ['I l', 've r', "ck'n'roll. And you? "]
split()
中包含两个参数,第一个参数表示拆分的位置,第二个参数表示拆分的次数。
没有参数时,默认在空格位置进行划分,如上例string_list1;
有一个参数时,如上例string_list2,在“.”位置进行划分;
有两个参数时,如上例string_list3,在字母“o”位置进行划分,划分次数为2次;
3. join()
作用:将列表中的子字符串组合成一个字符串,与split()
相返。
示例:
alist = ["I", "love", "rock 'n' roll."]
print(" ".join(alist))
print(",".join(alist))
运行结果:
I love rock 'n' roll.
I,love,rock 'n' roll.
4. strip()、lstrip()、rstrip()
作用:分别从字符串两侧、左侧、右侧删除字符串中的空格、制表符(/t)和换行符(/n),或删除参数包含的各个字符。
示例:
astring = " I love rock 'n' roll. \t\t \n "
print("Output strip: ", astring.strip())
print("Output lstrip: ", astring.lstrip())
print("Output rstrip: ", astring.rstrip())
astring = "==I love rock 'n' roll.-----**"
print("Output =-*strip: ", astring.strip("=-*"))
运行结果:
Output strip: I love rock 'n' roll.
Output lstrip: I love rock 'n' roll.
Output rstrip: I love rock 'n' roll.
Output =-*strip: I love rock 'n' roll.
经过鼠标选中之后,我们可以清楚地看出,lstrip()
只是删除了字符串中左侧的空格,右侧的空格、制表符(\t)和换行符(\n)仍然保留。
前三个分别删除了字符串中对应位置的空格、制表符(\t)和换行符(\n)。
最后一个删除了strip()
括号内参数所包含的各个字符。
5. replace()
作用:将字符串中的一个或一组字符替换成另一个或另一组。
函数再括号中包含两个参数,第一个参数为将被替代的一个字符或一组字符,第二个参数表示将要替换成的一个字符或一组字符。
示例:
astring = "I love rock 'n' roll."
print("Output replace(): ", astring.replace("I", "We"))
运行结果:
“I”被替换成为“We”。
Output replace(): We love rock 'n' roll.
6.lower()、upper()、capitalize()
作用:将字符串中的字符全部转换为小写;将字符串中的字符全部转换为大写;将字符串的首字符转换为大写;
示例:
astring = "i love rock 'n' roll. And you?"
print("Output lower: ", astring.lower())
print("Output upper: ", astring.upper())
print("Output capitalize: ", astring.capitalize())
运行结果:
Output lower: i love rock 'n' roll. and you?
Output upper: I LOVE ROCK 'N' ROLL. AND YOU?
Output capitalize: I love rock 'n' roll. and you?
将每个单词的首字母都大写:
astring = "i love rock 'n' roll. And you?"
string_list = astring.split()
string_list2 = []
for word in string_list:
string_list2.append(word.capitalize())
print("Output upper each word: ", " ".join(string_list2))
运行结果:
Output upper each word: I Love Rock 'n' Roll. And You?
参考资料:
Clinton W.Brownley. Python数据分析基础[M]. 人民邮电出版社. 2017:12-16