16-字符串

字符串定义

在python中,可以使用一对双引号或者单引号来定义一个字符串。
如果字符串中包含双引号,可以使用单引号定义,如果字符串中包含单引号,则使用双引号,但一般使用双引号来定义字符串。

字符串长度、计数和位置方法
hello_str = "hello python"
#统计长度
print(len(hello_str))
#统计某一个字符在字符串中出现的次数
print(hello_str.count("o"))
#某一个字符在字符串中的位置
print(hello_str.index("o"))
常用方法总览和分类
hello_str. 
    hello_str.capitalize   hello_str.isalpha      hello_str.ljust        hello_str.split          
    hello_str.casefold     hello_str.isascii      hello_str.lower        hello_str.splitlines     
    hello_str.center       hello_str.isdecimal    hello_str.lstrip       hello_str.startswith     
    hello_str.count        hello_str.isdigit      hello_str.maketrans    hello_str.strip          
    hello_str.encode       hello_str.isidentifier hello_str.partition    hello_str.swapcase       
    hello_str.endswith     hello_str.islower      hello_str.replace      hello_str.title          
    hello_str.expandtabs   hello_str.isnumeric    hello_str.rfind        hello_str.translate      
    hello_str.find         hello_str.isprintable  hello_str.rindex       hello_str.upper          
    hello_str.format       hello_str.isspace      hello_str.rjust        hello_str.zfill          
    hello_str.format_map   hello_str.istitle      hello_str.rpartition                            
    hello_str.index        hello_str.isupper      hello_str.rsplit                                
    hello_str.isalnum      hello_str.join         hello_str.rstrip     
判断空白字符
#判断空白字符
space_str = ""
print(space_str.isspace())
space_str = " \t\n\r"
print(space_str.isspace())
判断数字
#判断字符中只包含数字
num_str = "\u00b2"  #unicode字符串
#三个方法都不能判断小数
print(num_str.isdecimal()) #只能判断数字
print(num_str.isdigit())  #可以判断除数字外的unicode字符串,如平方
print(num_str.isnumeric())  ##可以判断中文数字,范围最广
字符串的查找与替换
hello_str = "hello python"
#判断是否已制定字符串开始
print(hello_str.startswith("hello"))
#判断是否以制定字符串结束
print(hello_str.endswith("python"))
#查找制定字符串
print(hello_str.find("llo")) #如果指定的字符串不存在会返回-1
#替换字符串
print(hello_str.replace("h","H")) #replace后会返回一个新的字符串,不会修改原字符串的内容
print(hello_str)
文本对齐方法
poem = ["登鹳雀楼",
        "王之涣",
        "白日依山尽",
        "黄河入海流",
        "欲穷千里目",
        "更上一层楼"]
for poem_str in poem:
    print("|%s|" % poem_str.center(10," "))
    #print("|%s|" % poem_str.ljust(10, " "))
    #print("|%s|" % poem_str.rjust(10, " "))
去除空白字符
poem = ["\t\n登鹳雀楼",
        "王之涣",
        "白日依山尽\t\n",
        "黄河入海流",
        "欲穷千里目",
        "更上一层楼"]
for poem_str in poem:
    #先去除空白字符再对齐
    print("|%s|" % poem_str.strip().center(10," "))
字符串拆分和拼接
poem_str = "\t\n登鹳雀楼\t王之涣\t\n白日依山尽\t\n黄河入海流\t欲穷千里目\t更上一层楼\t"
print(poem_str)
#拆分字符串
poem_list = poem_str.split()
print(poem_list)
#合并字符串
result = " ".join(poem_list)
print(result)
切片概念和倒叙索引

切片方法适用于字符串、元组和列表。

  • 切片使用索引值来限定范围,从一个大的字符串切成小的字符串。
  • 列表和元组都是有序的集合,能够通过索引值获取到对应的数据。
  • 字典是一个无序集合,使用键值对保存数据。

字符串【开始索引:结束索引:步长】

In [1]: num_str = "0123456789"                                                                    

In [2]: num_str[2:6]                                                                              
Out[2]: '2345'

In [3]: num_str[2:]                                                                               
Out[3]: '23456789'

In [4]: num_str[0:6]                                                                              
Out[4]: '012345'

In [6]: num_str[:6]                                                                               
Out[6]: '012345'

In [8]: num_str[:]                                                                                
Out[8]: '0123456789'

In [9]: num_str[::2]                                                                              
Out[9]: '02468'

In [10]: num_str[1::2]                                                                            
Out[10]: '13579'

In [11]: num_str[-1]                                                                              
Out[11]: '9'

In [12]: num_str[2:-1]     #从第二位到倒数第一位                                                                       
Out[12]: '2345678

In [13]: num_str[-2:]    #字符串后两位                                                                         
Out[13]: '89'

In [14]: num_str[-1::-1]     #字符串倒叙                                                                     
Out[14]: '9876543210'

你可能感兴趣的:(16-字符串)