1. 程式人生 > >Python中String字串操作

Python中String字串操作

關於字串的一些操作方法:

 ascii:字母,數字,特殊字元:1個位元組,8位
    Unicode:16位 兩個位元組  升級 32 位  四個位元組
    utf-8:最少一個位元組 8位表示。 英文字母 8位 1個位元組
                                  歐洲16位,2個位元組
                                  中文24位,3個位元組
      gbk:中文2個位元組,英文字母1個位元組。

      int:bit_lenth()
      bool:True False
      str: str --->bool :bool(str):  ''--->False
      str:
      s = 'alexsb'
      s1 = s[1]
      s2 = s[1:3]
      s3 = s[0:]  s[:]
      s4 = s[0:-1]
      s5 = s[0:3:2]
      s6 = s[2::-2]

      captlze首字母大寫
      upper()全大寫
      lower()全小寫
      find通過元素找索引,找不到-1
      index()通過元素找索引,找不到 報錯
      swpcase 大小寫翻轉

      repalce(old,new,count)
      isdigit() 返回bool值
      isapha()
      isnumpha()
      startswith endswith
      title 首字母大寫
      center()居中
      strip()lstrip rstrip
      split
      format 格式化輸出
      {}
      {0}{1}{2}{0}
      {name}{age}{hobby} name= age+ hobby


      len() 長度
      count 計數

      for i in 可迭代物件:
        pass

# _author:VULCAN
# date:2018/8/20
s = "weNxIao1912"
# 將字串首字母大寫,其他的全小寫
# s1 = s.capitalize()
# print(s1)
# 將字串所有字母大寫
# s2 = s.upper()
# print(s2)
# 將字串所有字母小寫
# s3 = s.lower()
# print(s3)
# 將字串的字母大小寫翻轉
# s4 = s.swapcase()
# print(s4)

# 用驗證碼實現登陸驗證
# while True:
#     Verification_code = "WEnXiAo"
#     verification_code = input("請輸入驗證碼>>>")
#     if verification_code == Verification_code or verification_code.upper() == Verification_code.upper() or verification_code.lower() == Verification_code.lower():
#         print("校驗成功,正在登陸中...")
#         break
#     else:
#         print("驗證碼無效或驗證碼錯誤!請重新輸入。")

# 預設將字串首個字母大寫,其他全小寫
# l = "wEN xIao iS stUPid"
# l1 = l.title()
# print(l1)

# 將字串首字母大寫,其他的全小寫,等同於s1 = s.capitalize()
# m = "wENxIaoiSstUPid"
# m1 = m.title()
# print(m1)

# 結論:title()方法就是將字串的字母首字母大寫,中間需要用符號,數字隔開。
# l = "wEN_xIao4iS*stUPid"
# l1 = l.title()
# print(l1)

# 設定一個長度,讓字串在長度中居中,預設是null,顯示的就是空格
# x = "abc"
# x1 = x.center(12, "#")
# print(x1)

# 字串中新增\t表示的是,在\t前面一位字母后邊向後縮排8個空格,如果前一位字母的長度不夠8位,則\t自動向前將前面的字母補充成8位,多用於財務報表
# z = "sfdkjsnv\tfjwvd"
# z1 = z.expandtabs()
# print(z1)

# 計算字元的長度,字典的鍵值對數量,元組的元素個數,列表的元素個數
# z = "sfdkjsnvfjwvd"
# z1 = len(z)
# print(z1)

# startswith判斷以...開頭,返回的是bool值
# a = "sdmvgjseolgj651"
# q = a.startswith("s")
# print(q, type(q))
# endswith判斷以...結尾
# w = a.endswith("3")
# print(w)

# e = a.startswith("seo", 5, 9)  # 顧頭不顧腚
# print(e)
# r = a.endswith("651", 12, 15)  # 顧頭不顧腚
# print(r)

# find返回的是元素的索引,並且把要查詢的內容當做一個整體
# t = a.find("js")
# print(t)
# y = a.find("olg", 5, 11)
# print(y)
# u = a.find("lg6")  # 返回的是元素的索引,如果找不到就返回 -1
# print(u)

# 返回的是元素的索引
# i = a.index("gj")
# print(i)
# 如果找不到的話就報錯
# i = a.index("gi")
# print(i)

# 以什麼分割,最終形成一個列表,此列表不含有這個分割的元素
# a = "sdmvgjseolgj651"
# o = a.split("g")
# print(o)
# p = a.split("s", 2)
# print(p)

# format的用法:格式化輸出 {}表示一個佔位符,{}==%s
# a = "我叫{},今年{},愛好{},請記住,我叫{}".format("文曉", "36", "踢足球", "文曉")
# print(a)
# name = input("請輸入您的名字>>>")
# a = "我叫{0},今年{2},愛好{1},請記住,我叫{0}".format(name, "踢足球", "36", "文曉")
# print(a)
# a = "我叫{name},今年{age},愛好{hobby},請記住,我叫{name}".format(name="文曉", hobby="踢足球", age="36")
# print(a)

# replace:替換字串.全部替換。
# h = "saf地方司法局計費閃電發貨三發了瘋發貨單上了司法發生了三級婦科司法局病房價"
# h1 = h.replace("司法", "Fighting")
# print(h1)

# 去除空格
df = " jk微積 分4135  "
df1 = df.strip()  # 去除首尾空格
df2 = df.lstrip()  # 去除字串左邊的空格
df3 = df.rstrip()  # 去除字串右邊的空格
print(df1)
print(df2)
print(df3)

# is系列:
# name = "djfsjf舞蹈服454sdmf"
# print(name.isdigit())  # 字串只由數字組成
# print(name.isalnum())  # 字串由數字或字母組成
# print(name.isalpha())  # 字串只由字母組成