字符串是 Python 中最常用的数据类型。我们可以使用引号 ’ 或 " 来创建字符串。
str1 = "hello python" str2 = '你好啊!"python"' print(str2) print(str1[6]) for char in str2: print(char)
hello_str = "hello hello" # (1)统计字符串长度 print(len(hello_str)) # (2)count(x,start,end)统计某一个小(子)字符串出现的次数 print(hello_str.count("llo")) print(hello_str.count("abc")) print(hello_str.count("llo",6,11)) # (3)index(x,start,end)某一个子字符串出现的位置 print(hello_str.index("llo")) print(hello_str.index("llo",6,11)) # 注意:如果使用index方法传递的子字符串不存在,程序会报错 ValueError: substring not found # print(hello_str.index("abc"))
# 1. 判断空白字符 space_str = " " str1 = "hahahah " # 如果字符串中只包含空白,则返回 True,否则返回 False. print(space_str.isspace()) print(str1.isspace()) # 2. 判断字符串中是否只包含数字 # 1> 都不能判断小数 # num_str = "1.1" # 2> unicode 字符串 # (1)isdecimal方法检查字符串是否只包含十进制字符,如果是返回 true,否则返回 false。这种方法只存在于unicode对象。 # 注意:定义一个十进制字符串,只需要在字符串前添加 'u' 前缀即可。 str1 = "runoob2016" str2 = "23443434" str3 = "1.1" str4 = "\u00b2" str5 = "一千零一" print(str1.isdecimal()) #False print(str2.isdecimal()) #True print(str3.isdecimal()) #False print(str4.isdecimal()) #False print(str4.isdecimal()) #False # (2)isdigit方法检测字符串是否只由数字组成。如果字符串只包含数字则返回 True 否则返回 False。 print(str1.isdigit()) #False print(str2.isdigit()) #True print(str3.isdigit()) #False print(str4.isdigit()) #True print(str5.isdigit()) #False # (3)isnumeric方法检测字符串是否只由数字组成,数字可以是: Unicode 数字,全角数字(双字节),罗马数字,汉字数字。 # 指数类似 ² 与分数类似 ½ 也属于数字。 print(str1.isnumeric()) #False print(str2.isnumeric()) #True print(str3.isnumeric()) #False print(str4.isnumeric()) #True print(str5.isnumeric()) #True
hello_str = "hello world" # (1)判断是否以指定字符串开始,是返回True,否则返回False # 可以指定范围:如果beg 和 end 指定值,则在指定范围内检查。 print(hello_str.startswith("hello")) print(hello_str.startswith("o",7,11)) # (2) 判断是否以指定字符串结束 print(hello_str.endswith("world")) print(hello_str.endswith("w",4,7)) # (3) 查找指定字符串 # index同样可以查找指定的字符串在大字符串中的索引 print(hello_str.find("llo")) print(hello_str.find("llo",1,4)) # index如果指定的字符串不存在,会报错 # find如果指定的字符串不存在,会返回-1 print(hello_str.find("abc")) # (4) 替换字符串 # replace方法执行完成之后,会返回一个新的字符串. replace(old, new [, max]) # 注意:不会修改原有字符串的内容 print(hello_str.replace("world", "python")) print(hello_str)
# 假设:以下内容是从网络上抓取的 # 要求:顺序并且居中对齐输出以下内容 poem = ["\t\n登鹳雀楼", "王之涣", "白日依山尽\t\n", "黄河入海流", "欲穷千里目", "更上一层楼"] print(poem) for poem_str in poem: # (1)strip() 方法用于移除字符串头尾指定的字符(默认为空格)或字符序列。注意:该方法只能删除开头或是结尾的字符,不能删除中间部分的字符。 # (2)再使用center方法居中显示文本 str.center(width[, fillchar]) center()方法返回一个指定的宽度width居中的字符串,fillchar为填充的字符,默认为空格。 print("|%s|" % poem_str.strip().center(10, " "))
# 假设:以下内容是从网络上抓取的 # 要求: # 1. 将字符串中的空白字符全部去掉 # 2. 再使用 " " 作为分隔符,拼接成一个整齐的字符串 poem_str = "登鹳雀楼\t 王之涣 \t 白日依山尽 \t \n 黄河入海流 \t\t 欲穷千里目 \t\t\n更上一层楼" print(poem_str) # (1)拆分字符串 str.split(str="", num=string.count(str)) # str -- 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。 # num -- 分割次数。默认为 -1, 即分隔所有。如果第 num 有指定值,则分割为 num+1 个子字符串。 poem_list = poem_str.split() print(poem_list) # (2) 合并字符串 join方法用于将序列中的元素以指定的字符连接生成一个新的字符串 result = ",".join(poem_list) print(result)
# 打印反斜杠符号 print('\\') # 打印单引号 print('\'') print("\'") print("'") # 打印双引号 print("\"") print('\"') print('"') # 换行 print("123\n456") # print('这是一串添加单引号的\'字符串\'') print("这边是另一串添加了双引号的\"字符串\"")