字符串常用操作

今天就介紹一下常用的字符串操作,都是以 Python3撰寫的

首字母變大寫

#!/usr/bin/env python3
# -*- coding:utf-8 -*- name = "ironman
print(name.capitalize())
---------------執行結果---------------
Ironman

計算字符串重複的字共出現幾次

#!/usr/bin/env python3
# -*- coding:utf-8 -*- name = "i am a ironman"
print(name.count('a'))
---------------執行結果---------------
3

把字符串置中後,長度要50,不足50的就用-補滿

#!/usr/bin/env python3
# -*- coding:utf-8 -*- name = "i am a ironman"
print(name.center(50, "-"))
---------------執行結果---------------
------------------i am a ironman------------------

xx為結尾的,就返回True,不是就False

#!/usr/bin/env python3
# -*- coding:utf-8 -*- name = "i am a ironman"
print(name.endswith("an"))
print(name.endswith("i"))
---------------執行結果---------------
True
False

會把字符串中的\t變成20個空白格,default tabsize=8

#!/usr/bin/env python3
# -*- coding:utf-8 -*- name = "i \tam a ironman"
print(name.expandtabs(tabsize=20))
---------------執行結果---------------
i am a ironman

算字符串長度

#!/usr/bin/env python3
# -*- coding:utf-8 -*- name = "i am a ironman"
print(len(name))
---------------執行結果---------------
14

可以透過find()找出字符串要切片的起始位置,沒找到返回-1

#!/usr/bin/env python3
# -*- coding:utf-8 -*- name = "i am a ironman" >>> print(name.find("am"))
2 # 找到切片起始位置是2
>>> print(name[name.find("am"):3])
a
>>> print(name[name.find("am"):4])
am
>>> print(name[name.find("am"):5])
am
>>> print(name[name.find("am"):6])
am a
>>> print(name[name.find("am"):7])
am a
>>> print(name[name.find("am"):8])
am a i
>>> print(name[name.find("am"):9])
am a ir
>>> print(name[name.find("am"):10])
am a iro
>>> print(name[name.find("am"):])
am a ironman

透過formate()對字符串做格式化

#!/usr/bin/env python3
# -*- coding:utf-8 -*- name = "My name is {name} and I'm {years} old" >>> print(name.format(name='ironman', years='18'))
My name is ironman and I'm 18 old

使用format_map()對字符串做格式化, 替換字段使用{} 大括號

#!/usr/bin/env python3
# -*- coding:utf-8 -*- name = "My name is {name} and I'm {years} old" >>> print(name.format_map( {'name':'ironman', 'years':'18' } )) # {} 是一種字典的形式
My name is ironman and I'm 18 old

查找name這個字符串的下標位置

#!/usr/bin/env python3
# -*- coding:utf-8 -*- name = "i am a ironman"
>>> print(name.index(name))
0

判斷字符串裡,是不是由數字或是大小寫英文字母組成的,為真就返回True,若是有包含特殊符號的為就會返回False

#!/usr/bin/env python3
# -*- coding:utf-8 -*- >>> print('123'.isalnum())
True
>>> print('abc'.isalnum())
True
>>> print('ABC'.isalnum())
True
>>> print('abc123'.isalnum())
True
>>> print('ABC123'.isalnum())
True
>>> print('abc123@'.isalnum())
False
>>> print('ABC123.'.isalnum())
False

判斷字符串,是不是所有字符都是為大小寫的英文字母,為真返回True,反則返回False

#!/usr/bin/env python3
# -*- coding:utf-8 -*- >>> print('ABC'.isalpha())
True
>>> print('abc'.isalpha())
True
>>> print('abc123'.isalpha())
False
>>> print('abc@'.isalpha())
False
>>> print('abc1@'.isalpha())
False

判斷字符串中,是不是為十進制的數字

#!/usr/bin/env python3
# -*- coding:utf-8 -*- >>> print('11'.isdecimal())
True
>>> print("1234".isdecimal())
True
>>> print("12.34".isdecimal())
False
>>> print("1A".isdecimal())
False

判斷字符串中,是不是數字(整數)

#!/usr/bin/env python3
# -*- coding:utf-8 -*- >>> print('1234'.isdigit())
True
>>> print('12.34'.isdigit())
False

判斷字符串中,是不是合法的標識符,也就是變量名命名是否合法

#!/usr/bin/env python3
# -*- coding:utf-8 -*- >>> print('_Python3'.isidentifier())
True
>>> print('1_Python3'.isidentifier())
False
>>> print('__Python3'.isidentifier())
True
>>> print('{Python3}'.isidentifier())
False
>>> print('我好弱'.isidentifier()) # 一般不會用中文當變量名,請勿使用
True

判斷字符串中,是不是小寫字母,不管有沒有特殊符號,為真返回True,為否返回False

#!/usr/bin/env python3
# -*- coding:utf-8 -*- >>> print('abc'.islower())
True
>>> print('abC'.islower())
False
>>> print('ab1'.islower())
True
>>> print('ab!@'.islower())
True

判斷字符串中,是不是數字,為真返回True,為否返回False

#!/usr/bin/env python3
# -*- coding:utf-8 -*- >>> print('1234'.isnumeric())
True
>>> print('12.34'.isnumeric())
False
>>> print('12A'.isnumeric())
False

判斷字符串裡,是不是空格

#!/usr/bin/env python3
# -*- coding:utf-8 -*- >>> print(' '.isspace())
True
>>> print('\r\t\n '.isspace())
True
>>> print('\n '.isspace()) # 換行,游標在下一行
True
>>> print('\t '.isspace()) # tab鍵,8個空格
True
>>> print('\r '.isspace()) # 換行,游標在上一行
True

判斷字符串裡,每個字母第一個字為大寫,為真返回True,為否返回False

#!/usr/bin/env python3
# -*- coding:utf-8 -*- >>> print('My Name Is'.istitle())
True
>>> print('My Name is'.istitle())
False

判斷字符串裡,是不是可以打印的字符串或是字符串為空,為真返回True,為否返回False(不常用)

S.isprintable() -> bool

Return True if all characters in S are considered

printable in repr() or S is empty, False otherwise

#!/usr/bin/env python3
# -*- coding:utf-8 -*- >>> print('My Name Is'.isprintable())
True
>>> print('123.34'.isprintable())
True
>>> print(' '.isprintable())
True
>>> print('\n'.isprintable())
False
>>> print('\t'.isprintable())
False

判斷字符串裡,每個字母是不是大寫,為真返回True,為否返回False

#!/usr/bin/env python3
# -*- coding:utf-8 -*- >>> print('MY NAME IS'.isupper())
True
>>> print('MY NAME iS'.isupper())
False

使用字符串作為分隔符,串連多個數據成一個字符串

#!/usr/bin/env python3
# -*- coding:utf-8 -*- >>> s = ",".join(('Python', '3'))
>>> print(s)
Python,3
>>> print('+'.join(['1', '2', '3', '4']))
1+2+3+4

字符串內容往左對齊,並使用指定字符填充剩餘長度

#!/usr/bin/env python3
# -*- coding:utf-8 -*- >>> print(name.ljust(50, '*'))
i am a ironman************************************

字符串內容往右對齊,並使用指定字符填充剩餘長度

#!/usr/bin/env python3
# -*- coding:utf-8 -*- >>> print(name.rjust(50, '*'))
************************************i am a ironman

字符串轉換成小寫

#!/usr/bin/env python3
# -*- coding:utf-8 -*- >>> print('IRONMAN'.lower())
ironman

字符串轉換成大寫

#!/usr/bin/env python3
# -*- coding:utf-8 -*- >>> print('ironman'.upper())
IRONMAN

刪除字符串左邊空格和enter,或是指定中的字符

#!/usr/bin/env python3
# -*- coding:utf-8 -*- >>> s = " i am ironman"
>>> print(s.lstrip())
i am ironman
>>> s = "i am ironman"
>>> print(s.lstrip('i am'))
ronman

刪除字符串右邊空格和enter,或是指定中的字符

#!/usr/bin/env python3
# -*- coding:utf-8 -*- >>> s = "i am ironman "
>>> print(s.rstrip())
i am ironman
>>> s = "i am ironman"
>>> print(s.rstrip('man'))
i am iro

刪除字符串左右二邊空格和enter,或是指定中的字符

#!/usr/bin/env python3
# -*- coding:utf-8 -*- >>> print('\nironman\n'.strip())
ironman
>>> s = " i am a ironman "
>>> print(':', s.strip(), ':')
: i am a ironman :
>>> s = "i am a ironman"
>>> print(s.strip('man'))
i am a iro

轉換表,請注意觀察,才會了解有什麼差異

#!/usr/bin/env python3
# -*- coding:utf-8 -*- >>> p = str.maketrans("abcdef", '123456')
>>> print("i am a ironman".translate(p))
i 1m 1 ironm1n

在字符串中,把old字符串取代成new的字符串

#!/usr/bin/env python3
# -*- coding:utf-8 -*- >>> print('ironman'.replace('i', 'I', 1))
Ironman
>>> print('ironman'.replace('r', 'R', 2))
iRonman
>>> print('i am a ironman'.replace('a', '.'))
i .m . ironm.n

在字符串中,從右邊開始找,找到最後一個的字符給打印出來下標位置

#!/usr/bin/env python3
# -*- coding:utf-8 -*- >>> s = "i am a ironman"
>>> print(s.rfind("a"))
12

把字符串拆成列表

#!/usr/bin/env python3
# -*- coding:utf-8 -*- >>> print('1+2+3+4'.split('+'))
['1', '2', '3', '4']
>>> print('1+2\n+3+4'.split('\n'))
['1+2', '+3+4']

**字符串以換行符為分隔符拆分,去掉換行符;keepends為True,保留換行符

**

#!/usr/bin/env python3
# -*- coding:utf-8 -*- >>> print('1+2\n+3+4'.splitlines())
['1+2', '+3+4']
>>> print('1+2\n+3+4'.splitlines(keepends=True))
['1+2\n', '+3+4']

字符串裡把小寫字母變大寫,大寫字母變小寫

#!/usr/bin/env python3
# -*- coding:utf-8 -*- >>> print('Tony Stark'.swapcase())
tONY sTARK

字符串裡每個單字的第一個字母變成大寫,其餘字母都會被轉成小寫

#!/usr/bin/env python3
# -*- coding:utf-8 -*- >>> print('tony stark'.title())
Tony Stark
>>> print('hELLO wORLD pYTHON3'.title())
Hello World Python3

在字符串的左邊填0

#!/usr/bin/env python3
# -*- coding:utf-8 -*- >>> print('tony stark'.zfill(10))
tony stark
>>> print('tony stark'.zfill(20))
0000000000tony stark

參考來源:

Python 基礎 - 字符串常用操作的更多相关文章

  1. Python 基礎 - 文件的操作

    在來我們來玩一下文件操作,這個在未來工作上,也是會很常用到的功能 Python2.7中,可以用file()來打開文件,而在Python3中,一律都是用open(),接下來在當前目錄下,先建立一個空文件 ...

  2. python基础之字符串常用操作总结

    字符串的索引 s = 'ABCDLSESRF' # 索引 这两个很简单没什么说的 s1 = s[0] print(s1) # A s2 = s[2] print(s2) # C 切片 s = 'ABC ...

  3. Python文本和字符串常用操作

    ## 字符串分割 line = "This is my love!" fields = line.split(' ') print(fields) # ['This', 'is', ...

  4. Python 基礎 - 字典的操作使用

    接下來介紹字典,這在未來工作上,會是很常使用的,就來好好了解一下唄- 字典是一個 key(鍵)-value(值) 的數據類型,可以儲存很多訊息 #!/usr/bin/env python3 # -*- ...

  5. 初识python: 字符串常用操作

    直接上代码示例: #!/user/bin env python # author:Simple-Sir # time:20180914 # 字符串常用操作 name = 'lzh lyh' print ...

  6. Python学习笔记五:字符串常用操作,字典,三级菜单实例

    字符串常用操作 7月19日,7月20日 ,7月22日,7月29日,8月29日,2月29日 首字母大写:a_str.capitalize() 统计字符串个数:a_str.count(“x”) 输出字符, ...

  7. Python 基礎 - if else流程判斷

    hmm~前面講了那麼多,終於可以稍稍的正式進入另一個階段,沒錯,要開始寫判斷式了 這次先從最簡單的判斷式開始,if else 開始- Go 首先,之前有寫有一個簡單的互動式 用戶輸入 的代碼,忘記了嗎 ...

  8. python基础(字符串常用、数字类型转换、基本运算符与流程控制)

    一.字符串常用操作: #! /usr/bin/env python # -*- coding: utf-8 -*- # __author__ = "Z'N'Y" # Date: 2 ...

  9. Python3笔记022 - 5.1 字符串常用操作

    第5章 字符串及正则表达式 5.1 字符串常用操作 5.1.1 拼接字符串 使用+运算符可完成多个字符串的拼接,产生一个新的字符串对象. str1 = "2020年07月06日是" ...

随机推荐

  1. js写的闹钟,支持多个闹钟

    因为玩一个游戏,该游戏可以支持多个号,每个号有好多等时间的任务. 来回切换看,太耽误时间.手机的闹钟操作太麻烦. 所以写了一个使用配置文件的闹钟,简单方便. var ForReading = 1, F ...

  2. python时间格式化

    import timeprint time.time()输出的结果是:1279578704.6725271 但是这样是一连串的数字不是我们想要的结果,我们可以利用time模块的格式化时间的方法来处理: ...

  3. Bootstrap <基础三十一>插件概览

    在前面布局组件中所讨论到的组件仅仅是个开始.Bootstrap 自带 12 种 jQuery 插件,扩展了功能,可以给站点添加更多的互动.即使不是一名高级的 JavaScript 开发人员,也可以着手 ...

  4. Haskell Tuple相关总结

    一.相关操作 zip:将两个List合并成一个元组序对的List. fst:返回元组序对第一个元素. snd:返回元组序对第二个元素. PS:元组序对是元组中只有两个元素的元组. 二.与List的比较 ...

  5. Liunx下安装jdk

    Liunx下安装jdk 1.首先进入ROOT权限  命令 sudo su  输入密码进入 root 权限 2.看下当前liunx 是否存在jdk 环境 ,输入命令 javac,如果存在则会显示对应jd ...

  6. 在CDH5.5.0上安装Phoenix1.2

    1.下载CLABS版本的Phoenix CLABS_PHOENIX-4.5.2-1.clabs_phoenix1.2.0.p0.774-el6.parcel和manifest.json文件 2.将文件 ...

  7. JAVA多线程超时加载当网页图片

    先上图: 这一次没有采取正则匹配,而采取了最简单的java分割和替代方法进行筛选图片 它能够筛选如下的图片并保存到指定的文件夹 如: “http://xxxx/xxxx/xxx.jpg” 'http: ...

  8. Visual Studio 下C#编译器在解析属性名时如果增加一个get_[您的另一个已经包含在类中属性名]的属性会报错,微软大哥这是什么鬼?

    假设在在我们的vs环境新建一个类 copy以下代码,表面看好像一切都没有问题. using System; using System.Collections.Generic; using System ...

  9. Read excel and put cell data into HashMap

    //Read excel row by row, put cell name and cell value to a map for each row. HashMap getExpectedResu ...

  10. eap-tls

    eap-tls       文件路径 用途 示例 备注 #gedit /usr/local/etc/raddb/sites-available/default #gedit /usr/local/et ...