python 字符串

字符串

a、字符串的创建

  • 可以使用 “ ” 或者' '来创建字符串
#  使用“ ”或者' '创建字符串
str = "hello python"

b、字符串的访问

  • 字符串的索引从0开始,最后一个字符的索引为-1
# 创建一个字符串
str = "hello python"
# 使用索引获取字符串
print(str[1])
# 使用-1获取倒数最后一个字符串
print(str[-1])
print(str[-2])
e
n
o

c、字符串的截取

[ : ] 截取字符串中的一部分,遵循左闭右开原则,str[0,2] 是不包含第 3 个字符的。

# 创建一个字符串
str = "hello python"
# [ : ] 截取字符串中的一部分,**遵循左闭右开原则**
print(str[2:4])
ll

d、字符串的拼接

使用 + 完成字符串的拼接工作。

# 创建字符串1
str1 = "hello"
# 创建字符串2
str2 = "python"
# 使用+进行字符串拼接
str = str1 + " " + str2
print(str)
hello python

e、获取字符串长度

# 获取字符串的长度
str = "hello python"
print(len(str))
12

f、isspace() 方法

使用 isspace()方法判断空字符串,只包含空格或者\t、\n、\r的都认为空字符串。

# 创建一个包含空格的字符串
str_space1 = " "
# 调用isspace()方法来判断字符串是否全是空格
print(str_space1.isspace())
# 包含\r\t\n都认为是空字符串
str_space2 = "\r\n\t"
print(str_space2.isspace())
str_space2 = "\r\n\t  abc"
print(str_space2.isspace())
True
True
False

g、isdecimal() 方法

使用isdecimal()来判断字符串中是否只包含数字。

# 使用isDecimal()来判断字符串中是否只包含数字
str_decimal1="123"
print(str_decimal1.isdecimal())
str_decimal2="123abc"
print(str_decimal2.isdecimal())
True
False

h、startswith()方法 & endswith()

  • str.startswith(substr, beg=0,end=len(string));
    str -- 检测的字符串。
    substr -- 指定的子字符串。
    strbeg -- 可选参数用于设置字符串检测的起始位置。
    strend -- 可选参数用于设置字符串检测的结束位置。
str = "this is string example....wow!!!"
print (str.startswith( 'this' ))   # 字符串是否以 this 开头
print (str.startswith( 'string', 8 ))  # 从第八个字符开始的字符串是否以 string 开头
print (str.startswith( 'this', 2, 4 )) # 从第2个字符开始到第四个字符结束的字符串是否以 this 开头
True
True
False
  • str.endswith(suffix[, start[, end]])
    str -- 待检测的字符串
    suffix -- 该参数可以是一个字符串或者是一个元素。
    start -- 字符串中的开始位置。
    end -- 字符中结束位置。
Str='Runoob example....wow!!!'
suffix='!!'
print (Str.endswith(suffix))
print (Str.endswith(suffix,20))
suffix='run'
print (Str.endswith(suffix))
print (Str.endswith(suffix, 0, 19))
True
True
False
False

i、islower() & isupper() & lower() & upper()

  • islower()方法用来判断一个字符串是否都是小写的字符
# 创建一个只包含小写的字符串
str_lower1 = "hello python"
print(str_lower1.islower())
# 创建一个包含大写字母的字符串
str_lower2 = "Hello python"
print(str_lower2.islower())
True
False
  • isupper()用来判断一个字符串是否都是大写的字符
# 创建一个只包含小写的字符串
str_lower1 = "HELLO PYTHON"
print(str_lower1.isupper())
# 创建一个包含大写字母的字符串
str_lower2 = "Hello python"
print(str_lower2.isupper())
True
False
  • lower()用来转换所有大写字符为小写字符
# 创建一个包含大小写的字符串
str = "Hello python"
# 将所有的大写字符转换成小写字符
print(str.lower())
hello python
  • upper()用来转换所有的小写字符为大写字符
# 创建一个包含大小写的字符串
str = "Hello python"
# 将所有的小写字符转换成大写字符
print(str.upper())
HELLO PYTHON

j、find() & rfind() & index() & rindex() & replace()

  • str.find(str, beg=0, end=len(string))
    str -- 指定检索的字符串
    beg -- 开始索引,默认为0。
    end -- 结束索引,默认为字符串的长度。
str1 = "Runoob example....wow!!!"
str2 = "exam";
 
print (str1.find(str2))
print (str1.find(str2, 5))
print (str1.find(str2, 10))
7
7
-1
  • str.rfind(str, beg=0 end=len(string))
    str -- 查找的字符串
    beg -- 开始查找的位置,默认为0
    end -- 结束查找位置,默认为字符串的长度
str1 = "this is really a string example....wow!!!"
str2 = "is"

print (str1.rfind(str2))

print (str1.rfind(str2, 0, 10))
print (str1.rfind(str2, 10, 0))

print (str1.find(str2))
print (str1.find(str2, 0, 10))
print (str1.find(str2, 10, 0))
5
5
-1
2
2
-1

k、strip() & rstrip() & lstrip()

  • str.strip([chars])
    chars -- 移除字符串头尾指定的字符序列。
str = "*****this is **string** example....wow!!!*****"
print (str.strip( '*' ))  # 指定字符串 *
this is **string** example....wow!!!

l、split() & joint()

  • str.split(str="", num=string.count(str))
    str -- 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。
    num -- 分割次数。默认为 -1, 即分隔所有。
str = "this is string example....wow!!!"
print (str.split( ))       # 以空格为分隔符
print (str.split('i',1))   # 以 i 为分隔符
print (str.split('w'))     # 以 w 为分隔符
['this', 'is', 'string', 'example....wow!!!']
['th', 's is string example....wow!!!']
['this is string example....', 'o', '!!!']
  • str.join(sequence)
    sequence -- 要连接的元素序列。
s1 = "-"
s2 = ""
seq = ("r", "u", "n", "o", "o", "b") # 字符串序列
print (s1.join( seq ))
print (s2.join( seq ))
r-u-n-o-o-b
runoob

部分案例来自于菜鸟教程

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 220,492评论 6 513
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 94,048评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,927评论 0 358
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,293评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,309评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,024评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,638评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,546评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,073评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,188评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,321评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,998评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,678评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,186评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,303评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,663评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,330评论 2 358

推荐阅读更多精彩内容