字串操作

2021-09-25 09:21:11 字數 2527 閱讀 3602

基本使用:拼接、提取、切片等

s1=『hello』

s2=『world』

#連線print(s1+s2)

print(s1[0])#提取乙個字元

print(s1[1:3])#切片,s[起始:結束:步長]包括開始的下標,不包括結束的下標

print(s1 * 3)# 將指定字串重複若干次

print(len(s1))# 統計字元個數

print(s2[1:])#從第二個開始列印

print(s2[:1])#列印第二個之前的

print(s2[:-1])

print(s2[-1:])

print(s2[:])#列印全部

print(s2[::2])#步長預設為1,而此時步長設定為2

print(s2[1:-2])

print(s2[::-1])# 逆序,步長為負時倒序提取

print(s2[-1:2:-1])#-1為起始座標,逆序取的時候還有字元可以取

print(『***』, s2[1:-1:-1])#2為起始座標,逆序的時候沒有字元可以取

print(ord(『h』))#獲取字元的ascii碼

print(chr(100))#獲取對應ascii碼的字元

格式化:就是將不同的變數拼接成乙個字串

s1=『hello\nworld\nnfjb』

print(s1.splitlines())#按照\n進行切割

lt=[『hello』,『world』]

print(』』.join(lt))#拼接

print(』』.join(list(s)[:3]))

print(s.find(『t』)#預設從左開始查詢,返回的是第乙個匹配的值的下標,如果查詢的值不存在就返回-1

print(s.rfind(『m』))#從右邊開始查詢,找到返回下標,找不到返回-1

print(s.count(『m』)#統計出現次數,如果不存在就返回0

print(s.startswitch(『nice』))#是否以指定內容開頭,是就返回true

print(s.endswitch(』!))#是否以指定內容結尾,不是返回false

print(s.upper())#全大寫

print(s.lower())#全小寫

print(s.swapcase())#大小寫轉換,大寫轉小寫,小寫轉大寫

print(s.capitalize())#第乙個單詞首字母大寫

print(s,title())#每個單詞的首字母大寫

print(s.replace(『t』,『t』))#替換

print(『abhjb』.isupper())#判斷是否是大寫,是返回true

print(『uigb』.islower())#判斷是否是小寫

print(s.istitle())#判斷每個單詞首字母是否大寫,是返回true

print(『bdj』.isedcimal())#判斷是否是十進位制

print(『nvsjkh』.isalpha())#判斷是否是字母

print(『bdh』.isalnum())#判斷是否全是字母或者數字

print(『viug』.isidentifier())#判斷是否是正確的識別符號

print(『hudhf』.ljust(10)+『hgy』)#左對齊,預設填充空格

print(『jfdb』.rjust(5))#右對齊

print(『bhd』.center(9,』#』))#居中對齊

print(』#』+』 bjdb\n』.strip()+』』)#去掉兩邊的內容

print(『bjkfdb』.strip(『bf』))#去掉指定內容,如果有多個就去掉第乙個匹配的值

print(』&』+』 uigfu』+』&』.lstrip())#去掉左邊的

print(』&』+』 uigfu』+』*&』.rstrip())#去掉右邊的

#拷貝,深淺拷貝是針對可變元素而言的,不可變元素不存在深淺拷貝的問題

import copy

#不可變型別

d=6525

d1=d

d3=copy.copy(d)

d4=copy.deepcopy(d)

print(d1)

print(d3)

print(d4)#d1、d3、d4的值一樣

#可變型別(引用型別)

s=[12,3,2,[8,6,4]]

s2=s

s3=copy.copy(s)#淺拷貝,只拷貝物件本身,內部元素只拷貝引用

s4=copy.deepcopy(s)#深拷貝,不但拷貝物件還會拷貝內部元素

print(s is s2)

print(s is s3)

print(s is s4)

s[0]=50

s[3][2]=100

print(s2)

print(s3)

print(s4)

s5=s.copy()#淺拷貝

print(s is s5)

s[2]=40

s[3][1]=103

print(s5)

字串操作 靠字串分割字串

字串分解函式。注意strtok比較複雜。要妥善運用!也可以不用strtok函式,但要實現字串靠字串分割比較困難!注意str指向的空間必須是可讀可寫的 如陣列或動態分配的空間 不能為字串常量的指標,因為strtok改變了其中的內容。include include 功能 將str中的字串按照elemon...

字串操作

字串操作 要了解字串操作首先要了解什麼是字串。前面已經提過,字串是乙個由零個或者多個字元組成的有限序列,既然是有限的那麼也就意味著字串存在乙個起始位置和乙個結束位置。我們以指定起始位置的方式來通知程式從該位置起向後的一段記憶體空間的內容應該解釋為字串。那麼這個字串在什麼地方結束呢?規定當遇到字元 0...

字串操作

include using namespace std int strlength char str char strcopy char str1,char str2 char strlink char str1,char str2 int main char strcopy char str1,c...