Python字串操作
- 原始字串:在字串開始的引號之前加上r,使它成為原始字串。“原始字串”完全忽略所有的跳脫字元,列印出字串中的所有倒斜槓。
- 用三重引號的多行字串:多行字串的起止是3個單引號或3個雙引號。”三重引號“之間的所有引號、製表符或換行,都被認為是字串的一部分。
- 多行字串常常用作多行註釋。
- 字串下標和切片: 字串像列表一樣,使用下標和切片。
- 字串in和not in 運算子:像列表一樣,in和not in運算子也可以用於字串。
upper()和lower()字串方法返回一個新的字串,其中原字串的所有字母都被相應地轉換為大寫或小寫。字串中的非字母字元保持不變。
>>> spam='hello world'>>> spam.upper()'HELLO WORLD'>>> spam'hello world'>>> spam =spam.upper()>>> spam'HELLO WORLD'#用islower(),isupper()來判斷字串中的字母是否都是小寫和大寫。>>> spam.islower() False>>> spam.isupper() True#這樣呼叫也是可行的>>> 'hello'.upper()'HELLO'>>> 'HELLO'.lower()'hello'
這些方法沒有改變字串本身,而是返回一個新的字串
- isalpha() 返回True,如果字串中值包含字母,並且非空
- isalnum() 返回True,如果字串中只包含字母和數字,並且非空
- isdecimal() 返回True,如果字串中只包含數字字元,並且非空
- isspace() 返回True, 如果字串中只包含空格,製表符和換行,並且非空
- istitle() 返回True,如果字串中只包含以大寫字母開頭,後面都是小寫字母的單詞。
該程式反覆詢問使用者年齡和口令,知道他們輸入一個有效的值:
while True: print('Enter your age:') age =input() if age.isdecimal(): break print('please enter a number for you age')while True: print('select a new password (letters and numbers only):') password = input() if password.isalnum(): break print('passwords can only have letters and numbers.')
startswith()和endswith()方法,如果他們呼叫的字串以該方法傳入的字串開始或結束,則返回True,反之則返回False。如果要檢查字串的開始或結束部分是否等於另一個字串,而不是整個字串,這些方法就可以替代等於運算子==,這很有用。
join()方法在一個字串上呼叫,引數是一個字串列表,返回一個字串。返回的字串由傳入的列表中每個字串連線而成。
>>> ','.join(['cat','rat','bat'])'cat,rat,bat'>>> ''.join(['my','name','is','Simon'])'mynameisSimon'>>> ' '.join(['my','name','is','Simon'])'my name is Simon'>>> 'ABC'.join(['my','name','is','Simon'])'myABCnameABCisABCSimon'>>>
split()方法做的事情正好相反,它針對一個字串呼叫,返回一個字串列表。
>>> 'my name is Simon'.split() ['my', 'name', 'is', 'Simon']>>> 'myABCnameABCisABCSimon'.split("ABC") ['my', 'name', 'is', 'Simon']
預設情況下,字串'my name is Simon'按照空白字元分割,諸如空格、製表符或換行符。
rjust()和ljust()字串方法返回撥用他們的字串的填充版本,透過插入空格來對齊文字。這兩個方法的
- 第一個引數是一是整數長度,用於對齊字串,
- 第二個可選引數是將指定一個填充字元,取代空格字元。
center()字串方法與ljust()和rjust()類似,但他讓文字居中。
>>> 'hello'.rjust(10)' hello'>>> 'hello'.ljust(20)'hello '>>> 'hello'.rjust(20,'*')'***************hello'>>> 'hello'.ljust(20,'*')'hello***************'>>> 'hello'.center(10,'=')'==hello==='
'hello'.rjust(10)是要右對齊,將'hello'放在一個長度為10的字串中'hello'有5個字元他會在左邊加5個空格,得到一個10個字元的字串。
這個是一個列印表格式資料,流出空格的小程式碼:
def printPicnic(itemsDict, leftWidth, rightWidth): print('PICNIC ITEMS'.center(leftWidth + rightWidth, '-')) for k, v in itemsDict.items(): print(k.ljust(leftWidth, '.') + str(v).rjust(rightWidth)) picnicItems = {'sandwiches': 4, 'apples': 12, 'cups': 4, 'cookies': 8000} printPicnic(picnicItems, 12, 5) printPicnic(picnicItems, 20, 6)
執行結果如下:
---PICNIC ITEMS-- sandwiches.. 4apples...... 12cups........ 4cookies..... 8000-------PICNIC ITEMS------- sandwiches.......... 4apples.............. 12cups................ 4cookies............. 8000
- strip()字串返回一個新的字串,它的開頭和末尾都沒有空白字元。
- lstrip()刪除左邊的空白字元
- rstrip()刪除右邊的空白字元
有一個可選的字串引數,指定兩邊的那些字元應該刪除。
>>> spam = 'spamspamspambaconspameggsspamspam'>>> spam.strip('spam')'baconspamegg'
向strip()方法傳入引數'spam',告訴它在變數中儲存的字串兩端刪除出現的s、p、a、m。傳入strip()方法的字串中的字元順序不重要strip('spam')和strip('mpsa')做的事情一樣
pyperclip模組有copy()和paste()函式,它可以像計算機的剪貼簿傳送文字,或從它接收文字。將程式的輸出傳送到剪貼簿,使他很容易貼上到郵件,文書處理程式或其他軟體中。
實踐專案 在wiki標記中新增無序列表
import pypercliptext = pyperclip.paste()lines = text.split('\n')for i in range(len(lines)): lines[i] = '*'+ lines[i]text='\n'.join(lines) pyperclip.copy(text)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31559985/viewspace-2649139/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- [Python基礎]字串操作Python字串
- Python科研武器庫 - 字串操作 - 字串分隔 split()、rsplit()Python字串
- (Python基礎教程之七)Python字串操作Python字串
- 【轉載】Python字串操作之字串分割與組合Python字串
- 【Python自動化Excel】Python與pandas字串操作PythonExcel字串
- Python學習-字串函式操作1Python字串函式
- Python學習-字串函式操作3Python字串函式
- 1-python 字串的相關操作Python字串
- Python基礎——while、字串、列表及操作PythonWhile字串
- 初識 Python:Hello World 和字串操作Python字串
- Python中的字串操作(Python3.6.1版本)Python字串
- (四)Python中的字串型別及操作Python字串型別
- 字串操作字串
- 精通Python自然語言處理 1 :字串操作Python自然語言處理字串
- python函式教程:Python 字串操作(string替換、擷取等)Python函式字串
- 字串的操作字串
- 超詳細!盤點Python中字串的常用操作Python字串
- python中字串基本操作以及三種位運算Python字串
- Python學習筆記:第3天 字串的操作Python筆記字串
- 『無為則無心』Python序列 — 17、Python字串操作的常用APIPython字串API
- 從零開始的Python學習Episode 6——字串操作Python字串
- C# 字串操作C#字串
- Laravel str 字串操作Laravel字串
- Python科研武器庫 - 字串操作 - 路徑字串分割 os.path.split()、os.path.splitext()Python字串
- Python字串Python字串
- 字串和字元的操作字串字元
- 07字串操作字串
- ES6操作字串字串
- 操作型別之字串型別字串
- String/StringBuilder字串拼接操作UI字串
- Python3之字串str、列表list、元組tuple的切片操作Python字串
- Python-字串Python字串
- Python 字串 strPython字串
- Python字串字首Python字串
- python字串切片Python字串
- Go字串實戰操作大全!Go字串
- bat 批處理字串操作BAT字串
- 4.JNI: 操作字串String字串