Python第二天学习笔记之字符串(二)

一、字符串的结尾与开头的匹配

     Python中的字符串带有许多内置函数,这里我们说两个函数startswith()  、 endswith() 两个函数均是字符串类的一种方法。

str1 = "http://www.baidu.com"
str2 = "ftp:///mnt"
print(str1.startswith(("http","https")))   #字符串str1是不是以 "http"或"https"开头的,是返回True 否则返回False
print(str2.endswith(("cn","mnt")))      #字符串str2是不是以 "cn"或"mnt"开头的,是返回True 否则返回False

    

二、字符串的判断

    1、判断字符串全部是数字字符组成 
    print("123456".isdigit())     #只有数字字符
         输出结果 : True
    print("123456 hello word ".isdigit())    #不只有数字字符

         输出结果 : Flase 

        如果字符串只包含数字则返回 True 否则返回 False。

    2、判断字符串全部字母
    print("AaaiiBsddd".isalpha())   #所有字符都是字母

          输出结果:True

     print("123AaaiiBsaddd".isalpha())  #所有的字符不都是字母

           输出结果:False

        如果字符串至少有一个字符并且所有字符都是字母则返回 True,否则返回 False

    3、判断字符串中的字母全部是大写字母
    print("AAAAB\tBBBB\n".isupper())    #所有字符都是大写字母

           输出结果: True

     print("AaaiiBsddd".isupper())  #所有字符都不都是大写

           输出结果: False

        如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回 True,否则返回 False

    4、判断字符串中的字母全部是小写字母
   print("aaaabbbccc122c".islower())   #所有字母都是小写
          输出:True      
     print("a,aaabbbAAcc".islower())  #不是所有的字母都是小写

          输出:False

        如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回 True,否则返回 False

   5、判断字符串全部是数字或字母
          如果 string 至少有一个字符并且所有字符都是字母或数字则返回 True,否则返回 False
    print("123iakEDCV".isalnum())   #所有的字符都是数字或字母
         输出 : True
    print("****123iakEDCV".isalnum())  #不是所有的字符是字母或数字
         输出 : False

  6、判断字符串全部是否首字母大写
         如果字符串中所有的单词拼写首字母是否为大写,且其他字母为小写则返回 True,否则返回 False
    print("Hello World".istitle())    #所有单词的首字母大写

         输出:True  

    print("Hello  world".istitle())   #不是所有单词的首字母大写
         输出 False

  7、判断字符串全部是否首字母大写
         如果字符串中只包含空格,则返回 True,否则返回 False.  
    print("  \n   \t  ".isspace())   #只包含空格
         输出 : True 
  print("  \n  ssss \t ".isspace())  #不只包含空格
         输出 : False

二、变量名的合法性的判断

    在上一节笔记中我们说了变量名的规则,如下

(1)变量名可以由字母,数字或者下划线;
(2)变量名只能以字母或者下划线组成;
(3)变量名不能是python的关键字: eg: if, elif, else,
    注意:中文是可以作为变量名的,但不建议

    在这里,我们设计一程序用来判断用户输入的变量名称是否符合规则(默认用户不会输入python的关键字,和中文)

var = input("变量名:")
if var[0].isalpha() or var[0] == "_":
    for char in var[1:]:
        if not (char.isalnum() or var == "_" ):
            print("变量名%s存在不合法字符%s"%(var,char))
            break
    else :
        print("变量名%s合法" % (var))
else:
    print("变量名不合法:第一个字符错误!")

三、字符串的搜索与替换

        find()函数用于查找字符串中是否含有某个子串,如果有,则将子串的索引值返回,如果没有,则为-1 。replace()函数用于将字符串中的某个子串被全被替换掉,但是不会改变原有的字符串数据

    str.find(str,beg,end=len(string))   

            str --指定检索的字符

            beg -- 开始索引的位置 默认为0

            end --结束搜索的位置 默认为字符串长度

    str = "hell world who are you"
    print(str.find("world"))

        输出:

            

     str = "hell world who are you"
     print(str.find("hello12"))
        输出:

            

            

    str.replace(old, new[, max])     #max 指定最大被替换的次数 
    str1 = "hell world who are you"
    str2 = str1.replace("hell","hello12")
    print(str1)
    print(str2)
        输出:

                

                注意上面没有改变原有字符串数据,字符串中数据不可变

四、字符串中字符清洗

(1)strip([chars])   

         chars  :移除字符串头尾指定的字符

        该函数会返回移除字符串头尾指定的字符后新生成的字符串
  str = "0000hell world who are you0000"
  print(str)
  print(str.strip("0"))

        输出:

                

(2)lstrip([chars])   

#lstrip([chars]) 
#chars 移除字符串左侧的字符 
#该函数会返回移除字符串头指定的字符后新生成的字符串
str = "0000hell world who are you0000"
print(str)
print(str.strip("0"))

         

(2)rstrip([chars])  

#rstrip([chars])
#chars 移除字符串左侧的字符
# 该函数会返回移除字符串尾指定的字符后新生成的字符串
str = "0000hell world who are you0000"
print(str)
print(str.rstrip("0"))
    

五、字符串的对齐

(1)ljust() 

         方法返回一个原字符串左对齐,并使用空格填充至指定长度的新字符串。如果指定的长度小于原字符串的长度则返回原字符串
    #ljust(width[,fillchar])   #字符向左对齐
    #width -- 指定字符串的长度
    #fillchar --填充字符
    str = "world who are you     "
    print(str.ljust(30,'*'))

        

(2)rjust() 

          返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串。如果指定的长度小于字符串的长度则返回原字符串
 #rjust(width[,fillchar])
 #width --
 #fillchar
 str = "world who are you"
 print(str.rjust(30,'*'))
            


(3)center 

         Python center() 返回一个原字符串居中,并使用空格填充至长度 width 的新字符串。默认填充字符为空格
#center(width[,fillchar])
#width --
#fillchar
str = "world who are you"
print(str.center(30,'*'))
    

六、格式化字符串——format

        从Python2.6开始,新增了一种格式化字符串的函数str.format(),它增强了字符串格式化的功能,进本语法是通过{}和:来代替以前的 % 。

        format 函数可以接受不限个参数,位置可以不按顺序。

 str = "{} {}".format("hello","world")    #不设置指定位置,按照默认顺讯
 print(str)
       

 str = "{1} {0} {1})".format("hello","world")    #设置指定位置
 print(str)
    

      也可以设置参数

 str = "{name},{sex},{age}".format(age=32,sex='male',name = 'zhangsan')  
 print(str)


        format 还具有许多的格式化输出方式参考:点击打开链接  作者的很多东西参考来源也是这里。

    

七、字符串中指定字符的统计

         Python count() 方法用于统计字符串里某个字符出现的次数。可选参数为在字符串搜索的开始与结束位置。
#count(sub,start=0,end=len(string))
#sub -- 需要计数的字符
#start --  开始查找的位置 默认为字符串开头
#end ---   结束查找的位置 默认为字符串结尾
str = '123456654321'
print(str.count('1'))
print(str.count('2',0,6))
   输出:
        

八、字符串的分离与连接

(1)split()

         Python split() 通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则仅分隔 num 个子字符串
#split(str='',num=string.count(string))
#str -- 分隔符,默认为所以有的空字符,包括空格、换行(\n),制表符(\t)等
#num -- 分割次数
str = '123.sd ads.555a.fd sf.e.t tew'
print(str.split())           #使用空格进行所有分割
print(str.split('.'))        #使用 '.' 进行全部分割
print(str.split('.',2))      #使用'.' 进行两次分割
         

(2)join()

         Python join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串。
#str.join(sequence)
#sequence --  需要被连接的序列
time = ["2018","04","16"]
print("-".join(time))

    输出 :

            





    

猜你喜欢

转载自blog.csdn.net/m0_37717595/article/details/80057039
今日推荐