易涨易退山溪水,易反易覆小人心
如果字符串跨越一行以上,可以使用三引号。
string = """
昔时贤文,诲汝谆谆。
集韵增广,多见多闻。
观今宜鉴古,无古不成今。
"""
和列表,元组一样,字符串也是可迭代的,可以i使用索引取查找其中的元素,第一个元素对应的索引为0
。最后一个元素索引为-1
。
字符串和元组一样不可变,如果要修改字符串,可使用当前变量再重新赋值,将原先的值覆盖即可。
多个字符串拼接可使用 +
string = "i" + "am" + "zhutou"
实现N
个自身拼接。
string = "hello"*3
def main():
str1 = "my name is zhutou".upper() #大写
str2 = "YOU CAN CALL ME ZHUTOU".lower()#小写
print(str1)
print(str2)
if __name__=='__main__':
main()
================= RESTART: C:/Users/Lin/Desktop/test/test.py =================
MY NAME IS ZHUTOU
you can call me zhutou
使用format
方法创建新字符串,将{}
替换为传入的字符串。
name = input('please input your name: ')
print("Hello! {}".format(name))
print("My name is {}".format("zhutou"))
================= RESTART: C:/Users/Lin/Desktop/test/test.py =================
please input your name: lin
Hello! lin
My name is zhutou
使用 split
方法可以将字符串分割为两个或多个字符串。
string = "I jumped over the puddle. It was 12 feet!".split(".")
================= RESTART: C:/Users/Lin/Desktop/test/test.py =================
['I jumped over the puddle', ' It was 12 feet!']
使用 join
方法可以在字符串的每个字符间添加新字符。
string = "abc"
result = "+".join(string)
print(result)
================= RESTART: C:/Users/Lin/Desktop/test/test.py =================
a+b+c
将列表转换为字符串
lists = ["i" , "am" , "zhutou"]
result = " ".join(lists)
print(result)
================= RESTART: C:/Users/Lin/Desktop/test/test.py =================
i am zhutou
使用 strip
方法去除字符串开头和结尾的空白字符,中间的空白字符不会被去除。
print(" hello,zhutou ".strip())
================= RESTART: C:/Users/Lin/Desktop/test/test.py =================
hello,zhutou
使用 index
方法来获得字符串中某一个字符第一次出现的索引。
addr = "zhutou".index("u")
print(addr)
================= RESTART: C:/Users/Lin/Desktop/test/test.py =================
2
检查某个字符串是否在另一个字符串中,返回 True/False。
bool1 = "Cat" in "Cat in the hat."
bool2 = "Bat" not in "Cat in the hat."
print(bool1)
print(bool2)
================= RESTART: C:/Users/Lin/Desktop/test/test.py =================
True
True
如下,在双引号里面还出现双引号,单引号里面出现单引号,则需要\
转义。
string1 = "i am \"zhutou\""
string2 = "i am 'zhutou'"
string3 = 'i am "zhutou"'
string4 = 'i am \'zhutou\''
print(string1)
print(string2)
print(string3)
print(string4)
================= RESTART: C:/Users/Lin/Desktop/test/test.py =================
i am "zhutou"
i am 'zhutou'
i am "zhutou"
i am 'zhutou'
语法: [可迭代对象][起始索引:结束索引]
string = "i am zhutou"
result1 = string[0:3]
result2 = string[:3]
result3 = string[3:]
print(result1)
print(result2)
print(result3)
================= RESTART: C:/Users/Lin/Desktop/test/test.py =================
i a
i a
m zhutou
对字符串"Where now? Who now? When now?"
调用一个方法,返回如下述的列表["Where now?", "Who now?", "When now?"]
。
其中正则表达式 [^\?]+\?
中括号表示一个字符集合,^
表示不接受该方括号表达式中的字符集合,\?
表示匹配问号,单独的问号?
匹配前面的子表达式零次或一次,或指明一个非贪婪限定符。所以,[^\?]
表示匹配非?
的字符(结果:['W', 'h', 'e', 'r', 'e', '', 'n', 'o', 'w', '', 'w', 'h', 'o', '', 'n', 'o', 'w', '', 'w', 'h', 'e', 'n', '', 'n', 'o', 'w']
),[^\?]+\?
就是表示在前面的匹配基础上再加上一个问号结尾的字符串。
import re
str="Where now? who now? when now?"
res = [x.strip() for x in re.findall('[^\?]+\?',str)]
print(res)
================= RESTART: C:/Users/Lin/Desktop/test/test.py =================
['Where now?', 'who now?', 'when now?']
猪头
2020.4.22