python 字符串操作

常用操作 + 内置方法

1.字符串定义
2.按索引取值 (正向取值 + 反向取值):只能取
3.切片 (顾头不顾尾,步长) 查找字符串当中的一段值 [起始值:终止值:步长]
4.长度 len 方法,可以计算长度,计算字符串有多少个字符
5.成员运算 in 和 not in : 判断一个子字符串是否存在于一个大的字符串当中,返回布尔类型
6.字符串拼接 " + 和 format "
7.join 拼接方法
8.字符串删除
9.字符串 修改 -> 字符串字母变大写 和 变小写 upper() lower()
10.把字符串第一个字母转换成大写 capitalize
11.把每个单词的首字母进行大写转换 title
12.把字符串切分成列表 split 默认空格字符切分
13.去掉字符串左右两边的字符 strip 不写默认是空格字符,不管中间的其他字符
14.center, ljust, rjust 多余添加自己想要的字符
15.查询 find, rfind, index, rindex 查找子字符串在大字符串的哪个位置(起始索引)
16.统计一个子字符串在大字符长中出现的次数 count
17.判断一个字符串里的数据是不是都是数字 isdigit
18.判断一个字符串里的数据是不是都是字母 isalpha
19.比较开头的元素是否相同 startswith,比较结尾的元素是否相同 endswith
20.判断字符串中的值是否全是小写的 islower,判断字符串中的值是否全是大写的 isupper
21.字符串的转义 (加了 \ 字符不再表示它本身的含义) 常用的 \n \t
22.字符串的反转义 r (\n就是\n)

"""
字符串定义:
在引号内按照从左到右的顺序依次包含一个个字符,引号可以是单引号、双引号、三引号
"""
string1 = str("hello world 1 ")
string2 = "hello world 2 "
string3 = 'hello world 3 '
string4 = '''hello world 4 '''
string5 = """hello world 5 """
print(type(string1), string1)
print(type(string1), string2)
print(type(string1), string3)
print(type(string4), string4)
print(type(string5), string5)
print(string1 + string2 + '\n' + string3 + string4 + string5)

listString = str([1, 2, 3, 4, 5])  # 列表转成字符串
print(type(listString), listString)

"""
字符串操作:
2. 按索引取值(正向取值 + 反向取值):只能取
"""
stringtest = 'hello world'
print(stringtest[0])   # 正向取值 h
print(stringtest[6])   # 正向取值 w
print(stringtest[-1])  # 倒着反向取值 d

"""
字符串操作:
3. 切片(顾头不顾尾,步长) 查找字符串当中的一段值 [起始值:终止值:步长]
    相当于切树木  一节一节的
"""
stringtest = 'hello world'
print(stringtest[0:5])    # hello取第1位到第5的值 (顾头不顾尾,默认步长是1)
print(stringtest[0:5:1])  # hello取第1位到第5的值 (顾头不顾尾,步长是1)
print(stringtest[0:5:2])  # hlo取第1位到第5步长是2的字符 (顾头不顾尾,步长是2)
print(stringtest[:])      # 不写数字默认取全部 hello world
print(stringtest[::-1])    # 取全部字符 并倒置 dlrow olleh  步长是负数
print(stringtest[10:5:-1])  # 单词world倒置  dlrow  步长是负数

"""
字符串操作:
4. 长度 len 方法,可以计算长度,计算字符串有多少个字符
"""
stringtest = 'hello world'
print(len(stringtest))  # 11个字符

"""
字符串操作:
5. 成员运算  in 和 not in : 判断一个子字符串是否存在于一个大的字符串当中
    返回布尔类型 True  False
"""
print("hello" in "hello world")      # True
print("hello" not in "hello world")  # False

"""
字符串操作:
6. 字符串拼接 " + 和 format "
    format 占位符 索引、关键字
"""
print("hello" + "world")  # hello world
print("my name is {}".format("hello world"))  # my name is hello world
print("my name is {1}, my age is {0}".format(18, "hello world"))  # my name is hello world, my age is 18
print("my name is {name}, my age is {age}".format(age=18, name="hello world"))  # my name is hello world, my age is 18

"""
字符串操作:
7. join 拼接方法
"""
string1 = 'python'
string2 = 'famous'
string3 = 'language'
print(''.join([string1, string2, string3]))   # 空字符串拼接pythonfamouslanguage
print(' '.join([string1, string2, string3]))  # 空格字符串拼接python famous language
print(','.join([string1, string2, string3]))  # 逗号字符串拼接python,famous,language

"""
字符串操作:
8. 字符串删除
"""
string1 = 'python'
del string1
print(string1)  # NameError: name 'string1' is not defined

"""
字符串操作:
9. 字符串 修改 -> 字符串字母变大写 和 变小写 lower() upper()
"""
string1 = 'python'
print(string1.upper())  # PYTHON
print(string1)  # python  字符串原值没有改变

"""
字符串操作:
10. 把字符串第一个字母转换成大写  capitalize
"""
string1 = 'python'
print(string1.capitalize())  # Python

"""
字符串操作:
11. 把每个单词的首字母进行大写转换  title
"""
string1 = 'python java'
print(string1.title())  # Python Java

"""
字符串操作:
12. 把字符串切分成列表 split 默认空格字符切分
"""
stringtest1 = 'python very famous language'
print(stringtest1.split())  # ['python', 'very', 'famous', 'language']
stringtest2 = 'python*very*famous*language'
print(stringtest2.split('*'))  # ['python', 'very', 'famous', 'language']

"""
字符串操作:
13. 去掉字符串左右两边的字符 strip 不写默认是空格字符,不管中间的其他字符
"""
stringtest1 = "            python        "
print(stringtest1.strip())  # python

"""
字符串操作:
14. center, ljust, rjust 多余添加自己想要的字符
"""
string = 'python'
print(string.center(10, '*'))  # **python**
print(string.ljust(10, '*'))  # python****
print(string.rjust(10, '*'))  # ****python

"""
字符串操作:
15. 查询  find, rfind, index, rindex 查找子字符串在大字符串的哪个位置(起始索引)
"""
stringtest = 'python very famous language'
print(stringtest.find('very'))  # 7 在大字符串的第7号索引(默认约束的范围是所有字符)
print(stringtest.find('very', 0, 10))  # -1 在0-10约束范围下的大字符串中没有找到返回-1,不会报错
print(stringtest.index('very', 0, 10))  # ValueError: substring not found 没找到会报错
stringtest2 = 'python very famous language and python very simple language'
print(stringtest2.find('very'))   # 7 从左往右查找
print(stringtest2.rfind('very'))  # 39 从右往左查找

"""
字符串操作:
16. 统计一个子字符串在大字符长中出现的次数 count
"""
stringtest2 = 'python very famous language and python very simple language'
print(stringtest2.count('python'))   # 2

"""
字符串操作:
17. 判断一个字符串里的数据是不是都是数字  isdigit
"""
stringnumber = '12345678'
print(stringnumber.isdigit())  # True

"""
字符串操作:
18 判断一个字符串里的数据是不是都是字母 isalpha
"""
stringalpha = 'addsdsdssd'
print(stringalpha.isalpha())  # True

"""
字符串操作:
19. 比较开头的元素是否相同 startswith
    比较结尾的元素是否相同 endswith
"""
string = 'python very famous language'
print(string.startswith('python'))  # True
print(string.endswith('age'))  # True

"""
字符串操作:
20. 判断字符串中的值是否全是小写的 islower
    判断字符串中的值是否全是大写的 isupper
"""
string = 'PYTHON'
print(string.isupper())  # True
print(string.islower())  # False

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

推荐阅读更多精彩内容