字符串操做

1、處理字符串python


特殊符號bootstrap

▎如何在字符串內使用特殊符號?bash

>>> text1='His cat's name is Tom.'
  File "<stdin>", line 1
    text1='His cat's name is Tom.'
                   ^
SyntaxError: invalid syntax
>>> text1='His cat\'s name is Tom.'    ##「\」轉義字符
>>> text2="His cat's name is Tom."    ##可使用雙引號開始和結束
>>> print(r'His cat\'s name is Tom.')   ##原始字符串
His cat\'s name is Tom.
>>> text1
"His cat's name is Tom."
>>> text2
"His cat's name is Tom."


▎轉義字符:python2.7

    \'           單引號ide

    \"          雙引號函數

    \t          製表符測試

    \n         換行符ui

    \\          倒斜槓spa

>>> print("\tHis cat's name is \nTom.")
        His cat's name is
Tom.


三重引號ip

多行字符串的起止是3個單引號或3個雙引號。「三重引號」之間全部引號、製表符或換行,都被認爲是字符串的一部分。python的代碼塊縮進規則不適用於多行字符串。

多行字符串還經常用做多行註釋。

>>> print('''Hello,
... Can you find my World.
... via Tom.''')
Hello,
Can you find my World.
via Tom.


字符串切片

字符串像列表同樣,使用下標和切片。

字符串切片並無修改原來的字符串。

>>> text1='His cat\'s name is Tom.'
>>> text1[:10]
"His cat's "
>>> text2="His cat's name is Tom."
>>> text2[:10]
"His cat's "


in和not in

測試第一個字符串(精確匹配)是否在第二個字符串中。

>>> text1='His cat\'s name is Tom.'
>>> "cat" in text1
True
>>> "tom" not in text1
True


2、字符串方法


大小寫

upper()和lower()字符串方法返回一個新字符串,其中原字符串的全部字母都被相應地轉換爲大寫或小寫。字符串中非字母字符保持不變。

>>> text1='His cat\'s name is Tom.'
>>> text1.upper()
"HIS CAT'S NAME IS TOM."
>>> text1.lower()
"his cat's name is tom."
>>> text1                ##這些方法沒有改變字符串自己,而是返回一個新字符串。
"His cat's name is Tom."


isupper()和islower()方法用來判斷字符串內全部字母是否都是大寫或小寫。

>>> 'Hello'.islower()
False
>>> 'Hello'.isupper()
False
>>> 'Hello'.upper().isupper()
True
>>> 'Hello'.lower().islower()
True
>>> 'Hello123'.lower().islower()
True
>>> 'Hello123'.upper().isupper()
True


▎其餘經常使用的判斷字符串方法:

    isalpha()返回True,若是字符串只包含字母,而且非空;

    isalnum()返回True,若是字符串只包含字母和數字,而且非空;

    isdecimal()返回True,若是字符串只包含數字,而且非空;

    isspace()返回True,若是字符串只包含空格、製表符和換行,而且非空;

    istitle()返回True,若是字符串只包含首字母大寫、後面都是小寫字母的單詞;


開始和結束

startswith()和endswith()方法返回True,若是它們所調用的字符串以該方法傳入的字符串開始或結束。不然,方法返回False。

>>> text1='His cat\'s name is Tom.'
>>> text1.startswith('His cat')
True
>>> text1.startswith('his cat')
False
>>> text1.endswith('om.')
True
>>> text1.endswith('.')
True


插入與分割

join()方法在一個字符串上調用,參數是一個字符串列表,返回一個字符串。返回的字符串由傳入的列表中每一個字符串鏈接而成。

調用join()方法的字符串,被插入到列表參數中每一個字符串的中間。

join()方法是針對一個字符串而調用的,而且傳入一個列表值。

>>> '#'.join(['Tom','Jack','Mike','Alice'])
'Tom#Jack#Mike#Alice'
>>> '\n'.join(['Tom','Jack','Mike','Alice'])
'Tom\nJack\nMike\nAlice'


split()方法針對一個字符串調用,返回一個字符串列表。

默認按照各類空白字符分割,如空格、製表符或換行符。

一個常見的split()用法,是按照換行符分割多行字符串。

>>> text
'Tom\nJack\nMike\nAlice'
>>> text.split()
['Tom', 'Jack', 'Mike', 'Alice']
>>> text.split('i')
['Tom\nJack\nM', 'ke\nAl', 'ce']


對齊文本

rjust()和ljust()字符串方法返回調用它們的字符串的填充版本,經過插入空格來對齊文本。

這兩個方法的第一個參數是一個整數長度,用於對齊字符串。第二個可選參數是指定一個填充字符,取代空格字符。

center()字符串方法與rjust()和ljust()相似,但它讓文本居中。

利用這三個方法確保字符串整齊對齊,即便不清楚有多少字符。

>>> 'Hello'.rjust(10)
'     Hello'
>>> 'Hello'.ljust(20)
'Hello               '
>>> 'Hello'.center(20,'-')
'-------Hello--------'
>>> 'Hello'.rjust(10).ljust(20)
'     Hello          '
>>> 'Hello'.rjust(10).ljust(20,'-')
'     Hello----------'


刪除空白字符

strip()字符串方法將返回一個新的字符串,它的開頭或末尾都沒有空白字符。

lstrip()和rstrip()方法將相應刪除左邊或右邊的空白字符。

有一個可選參數,指定兩邊的哪些字符應該刪除。

>>> text=' Hello World    '
>>> text.strip()
'Hello World'
>>> text.lstrip()
'Hello World    '
>>> text.rstrip()
' Hello World'
>>> text.strip('Held ')
'o Wor'


拷貝粘貼字符串

pyperclip模塊有copy()和paste()函數,能夠向計算機的剪貼板發送文本,或從它接收文本。

▎pyperclip模塊不是python自帶的,須要安裝。

[root@juispan src]# wget https://bootstrap.pypa.io/get-pip.py
......
2017-07-15 03:11:16 (24.4 KB/s) - 已保存 「get-pip.py」 [1595408/1595408])

[root@juispan src]# python get-pip.py
......
Successfully installed pip-9.0.1 setuptools-36.2.0 wheel-0.29.0
[root@juispan src]# pip -V
pip 9.0.1 from /usr/lib/python2.7/site-packages (python 2.7)
[root@juispan src]# pip install pyperclip
Collecting pyperclip
  Downloading pyperclip-1.5.27.zip
Building wheels for collected packages: pyperclip
  Running setup.py bdist_wheel for pyperclip ... done
  Stored in directory: /root/.cache/pip/wheels/0b/fe/d7/1ab1ec7a91dc707d04b872214f6ce617f1b04a027de12fd4fe
Successfully built pyperclip
Installing collected packages: pyperclip
Successfully installed pyperclip-1.5.27
>>> import pyperclip
>>> pyperclip.copy('Hello World')
>>> pyperclip.paste()
'Hello World'
相關文章
相關標籤/搜索