1. 程式人生 > >Python學習-字串函式操作2

Python學習-字串函式操作2

字串函式操作

find( sub, start=None, end=None):從左到右開始查詢目標子序列,找到了結束查詢返回下標值,沒找到返回 -1

sub:需要查詢的字串

start=None:開始查詢的起始位置,預設起始的位置為可以省略(0)

end=None:結束查詢的位置,可以省略,預設為字串的總長度len(str)

str = 'liiuwen'
m = str.find('i')
n = str.find('i',4);   
print(m);     // 1
print(n);    // -1

 format():格式化操作,將一個字串中的佔位符替換為指定的值

佔位符中可以用具體的字母表示,也可以用數字進行佔位

str = 'i am {}, age {a}';
res = str.format('student',a = '18');
print(res);    //i am student, age 18

format_map():也是格式化操作,但是插入的值必須是用字典表示

str = 'i am {name},age {a}';
res = str.format_map({"name":"liu","a":18});
print(res);    //i am liu,age 18

index(sub,start=None, end=None):

獲取子串索引位置,如果找到了返回下標值,沒有找到會直接報錯。建議使用find

sub:需要查詢的字串

start=None:開始查詢的起始位置,預設起始的位置為可以省略(0)

end=None:結束查詢的位置,可以省略,預設為字串的總長度len(str)

str = 'fvbdsiguw';
res = str.index('v');
print(res);    // 1
//執行下面操作會報錯
res1 = str.index('v',2);
print(res1);

isdigit(): 檢視一個字串中是否所有的字元都是數字,不可以包含特殊符號,標點符號,英文字母等等

返回的值是一個布林型別。True或者False

str = 'jcd123';
res = str.isdigit();
print(res);    //False

isalnum():檢視一個字串中是否所有的字元都是數字或者字母,不可以包含特殊符號,標點符號等等

返回的值是一個布林型別。True或者False

str1 = 'dvi123';
str2 = 'vig123,'
print(str1.isalnum());     // True
print(str2.isalnum());    //False

isalpha():檢視一個字串中是否所有的字元都是字母,不包含該數字,特殊符號,標點符號等等 
返回的值是一個布林型別。True或者False  

str1 = 'isudv';
str2 = 'uhsdv13';
print(str1.isalpha());     //True  
print(str2.isalpha());     //False

isspace():檢視一個字串中是否所有的字元都是空白符,包括空格,縮排,換行等不可見轉義符  

返回的值是一個布林型別。True或者False

str1 = '   ';
str2 = '\n\t'
print(str1.isspace());   //True
print(str2.isspace());   //True

expandtabs(): 把字串中的 tab 符號('\t')轉為空格,tab 符號('\t')預設的空格數是 8  

從頭開始數,數到第一個\t正好為8個空格,不足則補空格,如果還有\t,接著從第一個\t數到第二個\t仍然為8個空格,以此類推直到最後一個\t結束。

該方法返回字串中的 tab 符號('\t')轉為空格後生成的新字串。

   可以用這個函式在一個類似於表格的新字串,程式碼如下:

str ='name\temail\ttel\nliu\[email protected]\t147258369\nliu\[email protected]\t147258369\nliu\[email protected]\t147258369\n'
res = str.expandtabs(22);
print(res);

  執行結果如下