字串(str)
字串的下標(索引)
str_data = "https://www.cnblogs.com/daguo118/archive/2023/03/06/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 = https://www.cnblogs.com/daguo118/archive/2023/03/06/[-6:-4]"py",......
若要取"po" = str_data[0:5:4]
字串倒置:
- str_data[::-1] = "nohtyp"
ps:1)字串切片范圍需要滿足左閉右開;2)起始值到終止值與步長的方向必須一致
字串常用操作方法
重要字串方法
| 方法 | 描述 |
|---|---|
| join() | 將序列中的元素以指定的字符連接生成一個新的字串 |
| replace() | 回傳字串,其中指定的值被替換為指定的值 |
| split() | 在指定的分隔符處拆分字串并回傳串列 |
| splitlines() | 在換行符處拆分字串并回傳串列 |
| strip() | 回傳字串的裁剪版本,默認是去除字串兩邊的空白符 \r \t \n |
# 字串是不可變資料型別,這些方法不會改變原有的資料
# join()
str_data = "https://www.cnblogs.com/daguo118/archive/2023/03/06/python"
print('-'.join(str_data)) # p-y-t-h-o-n
print(str_data) # python
# replace()(不會修改字串)
# 語法:字串.replace(字串1,字串2)
# 功能:將字串內的全部:字串1,替換為字串2
# 注意:不是修改字串本身,而是得到了一個新字串
str_data = "https://www.cnblogs.com/daguo118/archive/2023/03/06/python"
new_str = str_data.replace('n', 'a')
print(new_str) # pythoa
print(str_data) # python
# split()(不會修改字串)
# 語法:字串.split(分隔字串)
# 功能:按照指定的分隔符字串,將字串劃分為多個字串,并存入串列物件
# 注意:字串本身不變,而是得到了一個串列物件
str_data = "https://www.cnblogs.com/daguo118/archive/2023/03/06/hello world"
new_str = str_data.split() # 默認對空格進行分割
print(new_str) # ['hello', 'world']
print(str_data) # hello world
# splitlines()(不會修改字串)
str_data = "https://www.cnblogs.com/daguo118/archive/2023/03/06/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 |
本文來自博客園,作者:大-鍋,轉載請注明原文鏈接:https://www.cnblogs.com/daguo118/p/17185321.html
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/545915.html
標籤:其他
