07字串操作

發表於2023-03-06

字串(str)

字串的下標(索引)

str_data = "python"

p y t h o n

0 1 2 3 4 5

-6 -5 -4 -3 -2 -1

索引就是某資料在序列的位置

  • 正索引:從左至右,從0開始
  • 負索引:從右至左,從-1開始
  • 其中:str_data[0] = str_data [-6] = 'p',str_data[1] =str_data[-5],......

字串的切片

切片即給定一個字串,從頭部或尾部擷取指定數量的字串。

語法:str[start_index: stop_index: step]

  • 起始位置 : start_index (空時預設為 0)
  • 終點位置: stop_index (空時預設為列表長度) 需要注意起點與終點索引的位置關係。
  • 步長: step (空時預設為 1,不能為 0)

str_data[0:2] = str_data = [-6:-4] "py",......

若要取"po" = str_data[0:5:4]

字串倒置:

  • str_data[::-1] = "nohtyp"

ps:字串切片

字串常用操作方法

重要字串方法

方法 描述
join() 將序列中的元素以指定的字元連線生成一個新的字串
replace() 返回字串,其中指定的值被替換為指定的值
split() 在指定的分隔符處拆分字串並返回列表
splitlines() 在換行符處拆分字串並返回列表
strip() 返回字串的裁剪版本,預設是去除字串兩邊的空白符 \r \t \n
# 字串是不可變資料型別,這些方法不會改變原有的資料

# join()
str_data = "python"
print('-'.join(str_data))   # p-y-t-h-o-n
print(str_data)     # python

# replace()(不會修改字串)
# 語法:字串.replace(字串1,字串2)
# 功能:將字串內的全部:字串1,替換為字串2
# 注意:不是修改字串本身,而是得到了一個新字串
str_data = "python"
new_str = str_data.replace('n', 'a')
print(new_str)      # pythoa
print(str_data)     # python

# split()(不會修改字串)
# 語法:字串.split(分隔字串)
# 功能:按照指定的分隔符字串,將字串劃分為多個字串,並存入列表物件
# 注意:字串本身不變,而是得到了一個列表物件
str_data = "hello world"
new_str = str_data.split()  # 預設對空格進行分割
print(new_str)      # ['hello', 'world']
print(str_data)     # hello world

# splitlines()(不會修改字串)
str_data = "hello\nworld"
new_str = str_data.splitlines()
print(new_str)  # ['hello', 'world']

# strip()字串的規整操作
# 字串的規整操作(不傳入引數,去除前後空格)
# 語法:字串.strip()
my_str = "  python  "
print(my_str.strip())	# 結果: "python"	
# 字串的規整操作(去除前後指定字串)
# 語法:字串.strip(字串)
my_str = "12python21"
print(my_str.strip("12"))		# 結果:"python"
# 注意:傳入的是“12”其實就是:”1”和”2”都會移除,是按照單個字元。

常用字串方法

方法 描述
upper() 把字串轉換為大寫
zfill() 在字串的開頭填充指定數量的 0 值
lower() 把字串轉換為小寫
count() 返回指定值在字串中出現的次數
find() 在字串中搜尋指定的值並返回它被找到的位置
format() 格式化字串中的指定值
index() 在字串中搜尋指定的值並返回它被找到的位置
isdigit() 如果字串中的所有字元都是數字,則返回 True

其他字串方法

方法 描述
capitalize() 把首字元轉換為大寫
casefold() 把字串轉換為小寫
center() 返回居中的字串
encode() 返回字串的編碼版本
endswith() 如果字串以指定值結尾,則返回 true
expandtabs() 設定字串的 tab 尺寸
isalnum() 如果字串中的所有字元都是字母數字,則返回 True
isalpha() 如果字串中的所有字元都在字母表中,則返回 True
isdecimal() 如果字串中的所有字元都是小數,則返回 True
isidentifier() 如果字串是識別符號,則返回 True
islower() 如果字串中的所有字元都是小寫,則返回 True
isnumeric() 如果字串中的所有字元都是數,則返回 True
swapcase() 切換大小寫,小寫成為大寫,反之亦然
title() 把每個單詞的首字元轉換為大寫
translate() 返回被轉換的字串
isprintable() 如果字串中的所有字元都是可列印的,則返回 True
isspace() 如果字串中的所有字元都是空白字元,則返回 True
istitle() 如果字串遵循標題規則,則返回 True
isupper() 如果字串中的所有字元都是大寫,則返回 True
ljust() 返回字串的左對齊版本
lstrip() 返回字串的左修剪版本
maketrans() 返回在轉換中使用的轉換表
partition() 返回元組,其中的字串被分為三部分。
rfind() 在字串中搜尋指定的值,並返回它被找到的最後位
rindex() 在字串中搜尋指定的值,並返回它被找到的最後位置
rjust() 返回字串的右對齊版本
rpartition() 返回元組,其中字串分為三部分
rsplit() 在指定的分隔符處拆分字串,並返回列表
rstrip() 返回字串的右邊修剪版本
startswith() 如果以指定值開頭的字串,則返回 true

相關文章