天天看點

Python-字元串1.字元串周遊與定義2.字元串的統計操作3.字元串的判斷方法4.字元串的查找與替換5.文本對齊6.字元串拆分和拼接

1.字元串周遊與定義

# 1.字元串周遊與定義

strl = "hello,python!"
strl1 = '我的外号是"大西瓜"'
print(strl1)
print(strl[6])

for char in strl1:
    print(char)

"""作者qq:2246656202

csdn:https://blog.csdn.net/qq_39460362

個人網站:www.yzsrw.com"""
           

首先定義兩個字元串,然後第一個可以用print進行彈出,也可以彈出指定索引的值,類似于清單,元祖,字典

然後簡單的用了個for循環周遊,然後循環内容。

Python-字元串1.字元串周遊與定義2.字元串的統計操作3.字元串的判斷方法4.字元串的查找與替換5.文本對齊6.字元串拆分和拼接

代碼運作效果如圖。

2.字元串的統計操作

# 2.字元串的統計操作

hello_str = "hello,world!!!"

# 統計字元串長度

print(len(hello_str))

# 統計小(子)字元串出現的次數

print(hello_str.count("l"))
print(hello_str.count("o"))

# 某一個字元串出現的位置

print(hello_str.index("llo"))

# 如果使用index的方法傳遞的子字元串不存在  程式會報錯的

print(hello_str.index("abc"))


print(hello_str)

"""作者qq:2246656202

csdn:https://blog.csdn.net/qq_39460362

個人網站:www.yzsrw.com"""
           

首先定義個一個字元串,然後内容我這裡是“hello,world!!!”,然後統計長度和清單,元祖,字典都是一樣的len。然後print進行彈出。然後統計小的字元串也是同上和清單,元祖,字典一樣,隻是在count裡面加上統計的字元。

查詢某個字元串的位置,可以像清單,元祖,字典直接用index輸入數值,然後進行彈出索引,找到位置。但是如果輸入的索引沒有的話,程式會報錯的哦!

3.字元串的判斷方法

# 3.字元串的判斷方法

""" 1判斷字元

# 判斷空白字元 1

space_str = " "  # 如果裡面是空格的話 則傳回True

print(space_str.isspace())

# 判斷空白字元 2

space_str1 = "ssssssssss" #至少有一個字元并且所有字元都是數字或者字母傳回True

print(space_str1.isalnum())

# 判斷空白字元 3

space_str2 = "s"    #至少有一個字元或者并且所有字元都是字母則傳回True

print(space_str2.isalpha())

"""

#x2

# 都不能判斷小數 否則都是False
# num_str = "1.1"
num_str = "1"

print(num_str.isdecimal())   #數字或者全角數字 則傳回True
print(num_str.isdigit())     #數字或者全角數字 (1) \u002特殊編碼  則傳回True
print(num_str.isnumeric())   #全角數字 漢字數字   則傳回True

"""作者qq:2246656202

csdn:https://blog.csdn.net/qq_39460362

個人網站:www.yzsrw.com"""
           

先定義一個空白的字元串,然後用isslpac進行print彈出,然後判斷,如果裡面是空格的話,傳回True。然後判斷第二種字元的操作,用isalum進行print彈出,然後判斷,如果裡面至少有一個字元并且字元都是數字或者字母傳回True

判斷第三種字元的操作,用isalpha進行print彈出,然後判斷,如果裡面至少有一個字元或者所有字元都是字母傳回True!

#x2

這裡的話是判斷數字的,首先定義個數字1的字元串,然後同時用這三種彈出的話,都會顯示True的,因為1的話是全角數字。

第一個 isdecimal 如果是數字或者全角數字 則傳回True

第二個 isdigit 如果是數字或者全角數字 (1)這樣 和 \002特殊編碼 也就是顯示2次方的樣式  則傳回True

第三個 isnumeric 如果是數字 或者是 漢字數字的話 則傳回True

4.字元串的查找與替換

#  4.字元串的查找與替換

hello_str = "hello,world"

# 1.判斷從指定字元串開始

print(hello_str.startswith("h"))

# 2.判斷是否從指定的字元串結束

print(hello_str.endswith("d"))

# 3.查找指定字元串

# index同樣可以在大字元串裡面檢視小字元串的索引

print(hello_str.find("o"))
"""
index如果查找指定的字元串不存在 會報錯
find如果查找指定的字元串不存在  會顯示-1
"""
print(hello_str.index("d"))

# 4. 替換字元串

# replace方法執行完成之後 會傳回一個新的字元串  注意:不會修改原有字元串的内容
print(hello_str.replace("world","山口一男"))

"""作者qq:2246656202

csdn:https://blog.csdn.net/qq_39460362

個人網站:www.yzsrw.com"""

           

第一個 startswith 判斷是否從指定的字元串開始,例如是abc的函數,如果輸入的是a的話,即傳回True

第二個 endswith 判斷是否從指定的字元串結束,例如是abc的函數,如果輸入的是c的話,即傳回True

第三個 find這個和index十分類似,但是如果用index的話,索引不在的話,系統報錯,用find的話,索引不在系統顯示-1.

第四個replace這個是進行更換字元串内容的,但是這個方法執行完之後,會建立一個新的字元串,注意:不會修改原有字元串的内容。例如 字元串 = (“原有内容”,“修改内容”),這樣修改即可。

5.文本對齊

# 5.文本對齊

# 假設: 以下内容是從網絡上抓取的
# 要求: 順序并且居中對齊輸出以下内容
"""poem = ["登鹳雀樓",
        "王之渙",
        "白日依山盡",
        "黃河入海流",
        "欲窮千裡目",
        "更上一層樓"]

for poem_str in poem:
    print(poem_str.ljust(10," "))
    # print(poem_str.ljust(5," "))  左邊  有是rihgt"""

poem = ["\t\n登鹳雀樓",
        "王之渙",
        "白日依山盡\t\n",
        "黃河入海流",
        "欲窮千裡目",
        "更上一層樓"]

for poem_str in poem:
    # 先用strip 去除字元串空白字元
    # 再使用center進行居中
    print("|%s|"%poem_str.strip().center(10," "))

"""作者qq:2246656202

csdn:https://blog.csdn.net/qq_39460362

個人網站:www.yzsrw.com"""
           

首先假裝這個是從網絡上爬取的,實際上則是自己寫的,哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈!

然後這個字元串的話,是一首詩,但是的話輸出的内容明顯是亂的,是以這個時候就需要用字元串文本對齊,進行修改了,首先進行一個循環周遊,然後在循環周遊定義的那個周遊值的上面加一個“.ljust”這個l是話是left左邊,同樣right是右邊。

然後在後面的那個空格加上10,這個10不是數字10,是間距的10個字元占位,然後這首詩就可以對齊好了。靠左右。

第二個的話 是假裝這個被打亂了,有很多空格占位符,這裡我們就需要繼續用循環周遊,然後把定義的那個周遊值進行“.strip”然後後面括号後加上一個center進行居中就行了。“.strip”是清除空白占位符的作用,center是居中!

6.字元串拆分和拼接

# 6.字元串的拆分和拼接

# 假設 : 以下内容都是網絡上抓取的
# 要求:
# 1. 将字元串中的空白字元全部去掉
# 2.再使用" " 作為分隔符,拼接成一個整齊的字元串

poem_str = "登雀鶴樓\t 王之渙 \t 白日依山盡 \t \n 黃河入海流 \t\t 欲窮千裡目 \t\n 更上一層樓"

print(poem_str)

# 1.拆分字元串
poem_list =  poem_str.split()

# split 可以拆分一個大的字元串

print(poem_list)

# for poem_list_x in poem_list:
#     print(poem_list_x.center(10))

# 2. 合并字元串
result = " \n".join(poem_list)

# join可以合并成一個新的字元串

print(result)

# 打卡194

"""作者qq:2246656202

csdn:https://blog.csdn.net/qq_39460362

個人網站:www.yzsrw.com"""
           

首先我這裡定義的是一個被打亂的一首詩,各種奇葩空格占位什麼的。然後首先print進行彈出,檢視了一下大概的效果。

然後開始用拆分了 首先定義一個清單的字元 然後等于 這個定義的字元串的名字然後“.split”,就可以成功拆分一個字元串了。

注釋裡面我簡單用了下循環周遊,進行循環這首詩,效果果然不錯!

合并字元串

因為上面那個被打亂了,是以就建立了字元串的名字,然後用來記錄字元串。這裡用的是result,然後 = “\n”.join(拆分要合并的字元串),這裡的話\n是建立一行的意思,是以這首詩就會自己自動換行了。也可以在裡面輸入空格占位符,也可以什麼都不輸,但是的話 一旦前面的雙引号沒有的話,系統程式會報錯。然後那個 .join的話是合并字元串的指令,然後後面括号輸入之前那個拆分的字元串。

(1)判斷類型 - 9

方法 說明
string.isspace() 如果 string 中隻包含空格,則傳回 True
string.isalnum() 如果 string 至少有一個字元并且所有字元都是字母或數字則傳回 True
string.isalpha() 如果 string 至少有一個字元并且所有字元都是字母則傳回 True
string.isdecimal() 如果 string 隻包含數字則傳回 True,

全角數字

string.isdigit() 如果 string 隻包含數字則傳回 True,

全角數字

\u00b2

string.isnumeric() 如果 string 隻包含數字則傳回 True,

全角數字

漢字數字

string.istitle() 如果 string 是标題化的(每個單詞的首字母大寫)則傳回 True
string.islower() 如果 string 中包含至少一個區分大小寫的字元,并且所有這些(區分大小寫的)字元都是小寫,則傳回 True
string.isupper() 如果 string 中包含至少一個區分大小寫的字元,并且所有這些(區分大小寫的)字元都是大寫,則傳回 True

(2)查找和替換 - 7

方法 說明
string.startswith(str) 檢查字元串是否是以 str 開頭,是則傳回 True
string.endswith(str) 檢查字元串是否是以 str 結束,是則傳回 True
string.find(str, start=0, end=len(string)) 檢測 str 是否包含在 string 中,如果 start 和 end 指定範圍,則檢查是否包含在指定範圍内,如果是傳回開始的索引值,否則傳回

-1

string.rfind(str, start=0, end=len(string)) 類似于 find(),不過是從右邊開始查找
string.index(str, start=0, end=len(string)) 跟 find() 方法類似,不過如果 str 不在 string 會報錯
string.rindex(str, start=0, end=len(string)) 類似于 index(),不過是從右邊開始
string.replace(old_str, new_str, num=string.count(old)) 把 string 中的 old_str 替換成 new_str,如果 num 指定,則替換不超過 num 次

(3)大小寫轉換 - 5

方法 說明
string.capitalize() 把字元串的第一個字元大寫
string.title() 把字元串的每個單詞首字母大寫
string.lower() 轉換 string 中所有大寫字元為小寫
string.upper() 轉換 string 中的小寫字母為大寫
string.swapcase() 翻轉 string 中的大小寫

(4)文本對齊 - 3

方法 說明
string.ljust(width) 傳回一個原字元串左對齊,并使用空格填充至長度 width 的新字元串
string.rjust(width) 傳回一個原字元串右對齊,并使用空格填充至長度 width 的新字元串
string.center(width) 傳回一個原字元串居中,并使用空格填充至長度 width 的新字元串

(5) 去除空白字元 - 3

方法 說明
string.lstrip() 截掉 string 左邊(開始)的空白字元
string.rstrip() 截掉 string 右邊(末尾)的空白字元
string.strip() 截掉 string 左右兩邊的空白字元

(6) 拆分和連接配接 - 5

方法 說明
string.partition(str) 把字元串 string 分成一個 3 元素的元組 (str前面, str, str後面)
string.rpartition(str) 類似于 partition() 方法,不過是從右邊開始查找
string.split(str="", num) 以 str 為分隔符拆分 string,如果 num 有指定值,則僅分隔 num + 1 個子字元串,str 預設包含 '\r', '\t', '\n' 和空格
string.splitlines() 按照行('\r', '\n', '\r\n')分隔,傳回一個包含各行作為元素的清單
string.join(seq) 以 string 作為分隔符,将 seq 中所有的元素(的字元串表示)合并為一個新的字元串
運算符 描述 執行個體
= 簡單的指派運算符 c = a + b 将 a + b 的運算結果指派為 c
+= 加法指派運算符 c += a 等效于 c = c + a
-= 減法指派運算符 c -= a 等效于 c = c - a
*= 乘法指派運算符 c *= a 等效于 c = c * a
/= 除法指派運算符 c /= a 等效于 c = c / a
//= 取整除指派運算符 c //= a 等效于 c = c // a
%= 取 模 (餘數)指派運算符 c %= a 等效于 c = c % a
**= 幂指派運算符 c = a 等效于 c = c a
制表符 的功能是在不使用表格的情況下在 垂直方向 按列對齊文本
轉義字元 描述
\\ 反斜杠符号
\' 單引号
\" 雙引号
\n 換行
\t 橫向制表符
\r 回車