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

2021-10-01 03:08:09 字數 4964 閱讀 2176

# 常見操作 - 查詢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)

字串的操作

strcpy,sprintf,memcpy的區別 對於字串拷貝來說,其實現的效率和使用的方便程度不同 strcpy 無疑是最合適的選擇 效率高且呼叫方便。snprintf 要額外指定格式符並且進行格式轉化,麻煩且效率不高。memcpy 雖然高效,但是需要額外提供拷貝的記憶體長度這一引數,易錯且使用不...

字串的操作

pragma once define string h include include using namespace std define maxsize 255 typedef struct sstring void initstring sstring s 給字串賦值 void strassi...

字串的操作

字串擷取 var ary str.split 字串替換 將所有特殊字元都替換掉 key.replace g,將所有的 都替換為 替換特殊字串中的第乙個 key.replace 字串中查詢特殊字串 字元 str.indexof d 字串長度 str.length 字串擷取 ary explode st...