掉進懸崖的小白,做字符串操作小總結,因爲記不住哈哈

字符串常用操作總結

# 常見操作 - 查找string.find(str, beg=0, end=len(string))檢測str是否包含在string中,
# 如果beg和end指定範圍,則檢查是否包含在指定範圍內,如果是返回開始的索引值,否則返回 - 1
str1 = "adgsdgSHAERHGDFASFAsdgsdf\nhtyj"
print(str1.find("dg"))
# string.rfind(str, beg=0, end=len(string))
# 類似於find()函數,不過是從右邊開始查找.\
print(str1.rfind("d"))
# string.index(str, beg=0, end=len(string))類似於find()函數,但是找不到報異常.
# string.rindex(str, beg=0, end=len(string))類似於rfind()函數,但是找不到報異常.
#
# 常見操作 - 統計string.count(str, beg=0, end=len(string))
# 檢測str是否包含在string中出現的次數,如果beg和end
# 指定範圍,則檢查是否包含在指定範圍內
#
print(str1.count("d"))
# 常見操作 - 分割
# string.split(str="", num=string.count(str))
# 以str爲分隔符切片string,如果num有指定值,則僅分隔num個子字符串
print(str1.split("d"))

# string.splitlines([keepends])
# 按照行('\r', '\r\n', \n')分隔,返回一個包含各行作爲元素的列表,
# 如果參數 keepends 爲 False,不包含換行符,如果爲 True,則保留換行符。
print(str1.splitlines(False))
print(str1.splitlines(True))
# string.partition(str)有點像find()和split()的結合體, 從str出現的第一個位置起, 把字符串string分成一個3元素
# 的元組(string_pre_str, str, string_post_str), 如果string中不包含str則string_pre_str == string.
print(str1.partition("d"))
# string.rpartition(str)類似於partition()函數, 不過是從右邊開始.
#
print(str1.partition("A"))
print(str1.rpartition("A"))
# 常見操作 - 判斷
# string.startswith(obj, beg=0, end=len(string))檢查字符串是否是以obj開頭,是則返回True,否則返回False。
print(str1.startswith("a"))
# 如果beg和end指定值,則在指定範圍內檢查.
# string.endswith(obj, beg=0, end=len(string))檢查字符串是否是以obj結尾,是則返回True,否則返回False。
# 如果beg和end指定值,則在指定範圍內檢查.
print(str1.endswith("f"))
# string.isalnum()所有字符都是字母或數字則返回True, 否則返回False

str2 = "61613"
str3 = "asfa"
str4 = "asADfa"
print(str1.isalnum())
print(str2.isalnum())
print(str3.isalnum())
print(str4.isalnum())
# string.isalpha()所有字符都是字母(除數字和特殊字符)則返回True, 否則返回False
print(str3.isalpha())
# string.isdigit()所有字符都是數字則返回True, 否則返回False
print(str2.isdigit())
# string.isupper()所有字符都是大寫則返回True, 否則返回False
print(str4.isupper())
# string.islower()所有字符都是小寫則返回True, 否則返回False
print(str1.islower())
# string.isspace()只包含空格則返回True, 否則返回False
print(str1.isspace())
# 判斷是否是標題(只有首字母大寫)
print("Asdf".istitle())
#
# 常見操作 - 大小寫string.capitalize()把字符串的第一個字符大寫(轉標題)
print(str.capitalize("asd"))
# string.upper()轉換string中的小寫字母爲大寫
print(str.upper("asd"))
# string.lower()轉換string中的大寫字母爲小寫
print(str.lower("ADd"))
#
# 常見操作 - 對齊string.ljust(width)
# 返回一個原字符串左對齊, 並使用空格填充至長度width的新字符串
print(str3.ljust(5))
# string.rjust(width)
# 返回一個原字符串右對齊, 並使用空格填充至長度width的新字符串
print(str3.rjust(5))
# string.center(width)
# 返回一個原字符串居中, 並使用空格填充至長度width的新字符串
print(str3.center(6))
#
# 常見操作 - 裁剪
# string.strip([obj])刪除string字符串前後的的obj,如果不傳參數,刪除前後空格
import string

s = " asd gdf asd asda "
j = "asd gdf asd asda"
print(s.strip())
print(j.strip())

# string.lstrip([obj])刪除string字符串左面的obj,如果不傳參數,刪除左面空格
print(j.lstrip("a"))
# string.rstrip([obj])刪除string字符串右面的obj,如果不傳參數,刪除右面空格
print(j.rstrip("a"))
#
# 常見操作 - 合併
# string.join(seq)以string作爲分隔符,將seq中所有的元素(的字符串表示)合併爲一個新的字符串
#
print("|".join("asddf"))

s = "  a  b  c d"
li = s.split() # 刪除空格
# li = s.lstrip() # 刪除字符串左邊空格
# li = s.rstrip() # 刪除字符串末尾空格
print(",".join(li))  # 用符號","把字符隔開

print("137a9041".isdecimal())  # 檢查字符串是否只包含十進制字符,如果是返回 true,否則返回 false。

# maketrans() 創建字符映射的轉換表,對於接受兩個參數的最簡單的調用方式
# ,第一個參數是字符串,表示需要轉換的字符,第二個參數也是字符串表示轉換的目標。

# translate(table, deletechars="")
# 根據 str 給出的表(包含 256 個字符)轉換 string 的字符, 要過濾掉的字符放到 deletechars 參數中
"""
maketrans()
字符串一種映射關係(對應關係、對照關係)
兩個參數 第一個參數是字符串,是需要轉換的字符串
第一個參數是字符串,是需要轉換成爲的字符串

兩個字符串的長度必須相等

translate()
"""
src = "abcdefghijklmnopqrstuvwxyz0123456789"
tgt = "0123456789abcdefghijklmnopqrstuvwxyz"

#製作密碼本
encrypt = str.maketrans(src,tgt)
print(encrypt)

name = input("請輸入用戶名:")
pwd = input("密碼:")
pwd = pwd.translate(encrypt)
print("加密之後:",pwd)



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章