之前提到过,方法就是针对特殊对象的函数,序列有许多方法,元祖也有,同样的,字符串也有其特有的方法。

序号

函数

功能

1

find()

2

split()

3

join()

4

lower()

5

title()

6

replace()

7

index()

8

capitalize()

9

upper()

10

swapcase()

11

center()

12

startswith()

13

endswith()

14

expandtabs()

15

strip()、lstrip()、rstrip()

16

format()

15

isalnum()、isalpha()、isdigit()

1.find():可以在一个较长的字符串中查找字串。它返回字串所在位置的最左端索引,如果没有找到,则返回-1.

>>> st = 'Come here, quiet and simple' #淡泊明志,宁静致远

>>> st.find('here')5

>>> st.find('most')

-1

还可以指定查找的范围。

>>> st.find('here',0,20)5

>>> st.find('here',0,6) #单个数字表示起始位置-1

2.split():将字符串分割成列表。

>>> '1+2+3+4'.split("+")

['1', '2', '3', '4']>>> 'Using the default'.split()

['Using', 'the', 'default'] #如果不提供分割符,默认空格作为分割符

还可以指定分割的次数:

>>> sst1 = 'This is the best of times'

>>>sst1.split()

['This', 'is', 'the', 'best', 'of', 'times']>>> sst1.split(' ',3) #分割三次

['This', 'is', 'the', 'best of times']>>> sst1.split(' ',100) #分割次数大于实际最大次数时,按照实际为主。

['This', 'is', 'the', 'best', 'of', 'times']

>>> sst2 = 'title tle tlie'

>>> sst2.split('t',3)

['', 'i', 'le', 'le tlie'] #以首字符作为分隔符的时候,注意会产生一个空字符串

注意:分割次数大于实际次数时不会报错,这样可以节省内存空间。把一切的异常指向最大值,这样会省许多麻烦。

3.join():split()的逆方法,用来连接序列中的元素。

>>>number

[1, 2, 3, 4]>>> sep = '+' #必须指定连接符号

>>>sep.join(number)

Traceback (most recent call last):

File"", line 1, in TypeError: sequence item 0: expected str instance, int found>>> number = ['1','2','3','4'] #需要被连接的序列元素必须是字符串

>>> print(seo.join(number))1234

>>>name

['wo', 'shi', 'shui']>>> print(" ".join(number))1 2 3 4

4.lower():返回字符串的小写字母表。在不想区分大小写的地方十分的受用。

Name = ['kebi','maoxian','xiaoniao','xinye']if input('please enter your name:').lower() inName:print('Found it')

please enter your name: KEBI

Found it

5.title():将字符串转换为标题,也就是单词首字母大写,而其余的小写。

>>> name = 'wo shi shui?'

>>>name.title()'Wo Shi Shui?'

>>> ss = 'WO SHI SHUI?' #不论大小写

>>>ss.title()'Wo Shi Shui?'

与title():类似的还有string模块的capwords函数。

>>> importstring>>> string.capwords("that's all folks")"That's All Folks"

>>> string.capwords("all of and")'All Of And'

6.replace():返回某字符串的所有匹配项均被替换之后得到的字符串

>>> 'This is a test'.replace('is','IS') #只能一对一替换'ThIS IS a test'

>>> 'This is a test'.replace('t','H')'This is a HesH'

>>> 'my stster is my father of my motherof son'.replace('my','I')'I stster is I father of I motherof son'

>>> 'my stster is my father of my motherof son'.replace('my','I',1)'I stster is my father of my motherof son' #可以指定替换的次数

>>> 'my stster is my father of my motherof son'.replace('my','I',100) #替换次数高于实际次数时不会报错

'I stster is I father of I motherof son'

7.index():从序列中查找某个元素的第一个匹配项的索引位置,没有查找到就报错。

与find()类似,但是find()只针对字符串有效,而find()对序列都有效。

>>> st = 'Hello,World'

>>> st.index('He')

0>>> st.index('o')4

>>> st.index('x') #index没有就报错

Traceback (most recent call last):

File"", line 1, in ValueError: substringnotfound>>> st.find('GG') #find没有则返回-1

-1

>>> st1 = [1,2,3,4]>>> st2 = [5,6,7,8]>>> st2 = (5,6,7,8)>>> st1.index(2)1

>>> st2.index(6) #index可以作用于序列

1

>>> st2.find(6)

Traceback (most recent call last):

File"", line 1, in AttributeError:'tuple' object has no attribute 'find'

8.capitalize():将字符串的首字母大写,其余的不论大小写,全部小写。

与title()有些类似,但是又不同,title()将每个单词的首字母大写。

>>>st'Hello,World'

>>> st = 'hello,world'

>>>st.capitalize()'Hello,world' #只将整个字符串的第一个字母大写

>>>st.title()'Hello,World' #每个单词首字母都变成大写

>>> st1 = 'hEloO,wORRD'

>>>st1.capitalize()'Heloo,worrd'

>>>st1.title()'Heloo,Worrd'

9.upper():将所有字母大写,与lower()相对应。

>>>st'hello,world'

>>>st1'hEloO,wORRD'

>>>st.upper()'HELLO,WORLD'

>>>st1.upper()'HELOO,WORRD'

10.swapcase():大小写翻转

>>>st'hello,world'

>>>st1'hEloO,wORRD'

>>>st.swapcase()'HELLO,WORLD'

>>>st1.swapcase()'HeLOo,Worrd'

11.center():返回一个原字符串居中,并使用空格填充至长度 width 的新字符串。默认填充字符为空格。

>>>name'Kebi'

>>> name.center(20) #一定要指定宽度,可以不指定填充符号

'Kebi'

>>> name.center(20,'*')'********Kebi********'

12.startswith():判定字符串是否是以指定的字符开头,返回布尔值,可以指定检测范围。

>>>st'hello,world'

>>> st.startswith('he')

True>>> st.startswith('the')

False>>> st.startswith('wo',6) #从第7个字符开始查,也就是w

True

13.endswith():判断字符串是否以指定的字符结尾,返回布尔值,可以指定检测范围。

>>> st.endswith('o',0,5)

True

14.expandtabs():默认将一个tab键变成8个宽度,如果tab前面的不足八个,则补全。如果超过8个则补全到16个,而tab后面的字符不会算进来。

>>> name = 'kebi\t'

>>>name.expandtabs()'kebi'

>>>len(name.expandtabs())8

>>> Like = 'Plane alone\t' #超过8,那就补长到16

>>>Like.expandtabs()'Plane alone'

>>>len(Like.expandtabs())16

>>> job = 'Have nothing to do\t'

>>>job.expandtabs()'Have nothing to do'

>>>len(job.expandtabs())24

>>> name = 'kebi\tXGG' #和tab键后面的字符没有关系

>>>name.expandtabs()'kebi XGG'

>>>len(name.expandtabs())11

15.strip():移除字符串首位指定的字符,默认删除空格。

lstrip():移除左侧的指定字符

rstrip():移除右侧的指定字符

>>>stt'kebi' #默认删除两侧的空格

>>>stt.strip()'kebi'

>>> stt2 = 'nimei kebi' #默认删除两侧的空格

>>>stt2.strip()'nimei kebi'

>>> stt4 = 'qiuhjnqioq'

>>> stt4.strip('aoq') #可以指定需要删除的字符,类似迭代

'iuhjnqi'

>>> stt4.strip('oaq') #参数的顺序没有要求

'iuhjnqi'

>>> stt4.lstrip('oaq') #lstrip()移除左边的指定字符

'iuhjnqioq'

>>>stt.lstrip()'kebi'

>>> stt4.rstrip('oaq') #rstrip()移除右边的指定字符

'qiuhjnqi'

>>>stt.rstrip()'kebi'

>>> sst = 'ke bi'

>>> stt.strip() #空格不会移除

'kebi'

16.format():字符串的格式化。

有三种方式:使用索引、使用位置参数和使用关键字。

format()格式化中,{}是格式化标识符,标记此处将会被格式化。

使用位置参数:把参数按照位置顺序来填充到字符串中

>>> fnc = 'name:{},age:{},sex:{}'

>>> fnc.format('kebi',25,'women')'name:kebi,age:25,sex:women'

使用索引:

>>> fnc = 'name:{0},age:{1},sex:{2}' #位置相对灵活

>>> fnc.format('kebi',25,'women')'name:kebi,age:25,sex:women'

>>> fnc = 'name:{0},age:{2},sex:{1}'

>>> fnc.format('kebi','women',25)'name:kebi,age:25,sex:women'

使用关键字:

>>> fnc = 'name:{a},age:{b},sex:{c}'

>>> fnc.format(a='kebi',c='women',b=25)'name:kebi,age:25,sex:women'

还有不常见的一些属性,在对数字的格式化上面。

>>> "{:.2f}".format(3.1415926) #保留两位小数

'3.14'

>>> "{:+.2f}".format(3.1415926) #正数前面显示符号

'+3.14'

>>> "{:-.2f}".format(3.1415926)'3.14'

>>> "{:.0f}".format(3.1415926) #不带小数点

'3'

>>> "{:0>2d}".format(3)'03' #前面用0填充

>>> "{:0>3d}".format(3)'003'

>>> "{:0<3d}".format(3) #后面用零填充

'300'

>>> "{:,}".format(123456789)'123,456,789' #用逗号分隔

>>> "{:.2%}".format(12)'1200.00%'

>>> "{:.2e}".format(10000000)'1.00e+07' #表示成指数的形式

>>> "{:10d}".format(13)'13' #向右对齐

>>> "{:>10d}".format(13)'13'

>>> "{:<10d}".format(13) #向左对齐

'13'

>>> "{:^10d}".format(13) #中间对齐

'13'

>>> "{:b}".format(13) #用二进制表示

'1101'

>>> "{:d}".format(13) #用十进制表示

'13'

>>> "{:o}".format(13) #用八进制表示

'15'

>>> "{:x}".format(13) #用十六进制表示

'd'

>>> "{:#x}".format(13)'0xd'

>>> "{:#X}".format(13)'0XD'

相对与老版%格式化来说有3个有点:

(1).不用理会数据类型的问题

(2).单个参数可以多次输出

(3)填充方式十分灵活

17.isalnum():判断字符串是否由字母或数字组成,返回布尔值

isalpha():判断字符串是否只由字母组成,返回布尔值

isdigit():判断字符串是否只由数字组成,返回布尔值。

>>> 'dagev587'.isalnum()

True>>> 'dagev 587'.isalnum() #加入空格就不行了

False>>> 'gogoing'.isalpha()

True>>> 'gogoing001'.isalpha()

False>>> '001'.isdigit()

True>>> 'gogoing001'.isdigit()

False

上面三个函数在实际中十分有用,因为返回的是布尔值,故而可以直接作为判定条件

字符串java_字符串的常用方法(内建函数)相关推荐

  1. 字符串java_字符串方法

    charAt() 作用: 通过下标值找到对应的字符. 语法: 1 字符串.charAt(index); 参数: index:索引值 取值范围:0-字符串的length-1,如果超出这个范围,比如小于0 ...

  2. string字符串内容倒叙_Java实现字符串倒序输出的常用方法小结

    本文实例汇总了Java实现字符串倒序输出的常用方法,分享给大家供大家参考.具体方法如下: 1. 最容易想到的估计就是利用String类的toCharArray(),再倒序输出数组的方法了. 实现代码如 ...

  3. 字符串的定义和常用方法

    文章目录 前言 一.概念 二.关键性质 三.String == null和""的区别 四.常用方法 一.object to string 二.字符串拼接 三.判断字符串是否为&qu ...

  4. 删除出现次数最少字符串JAVA_牛客网——华为机试(题23:删除字符串中出现次数最少的字符)(Java)...

    题目描述: 实现删除字符串中出现次数最少的字符,若多个字符出现次数一样,则都删除.输出删除这些单词后的字符串,字符串中其它字符保持原来的顺序. 输入描述: 字符串只包含小写英文字母, 不考虑非法输入, ...

  5. python怎么创建字符串_Python 字符串

    Python 字符串 字符串是 Python 中最常用的数据类型.我们可以使用引号( ' 或 " )来创建字符串. 创建字符串很简单,只要为变量分配一个值即可.例如: var1 = 'Hel ...

  6. python字符串str_python3 字符串str 教程

    var1 = 'Hello World!' var2 = "Python Programming" Python 访问子字符串,可以使用方括号来索引或截取(切片)获取子字符串,如下 ...

  7. python怎么显示字符串_python字符串

    Python 字符串 字符串是 Python 中最常用的数据类型.我们可以使用引号('或")来创建字符串. 创建字符串很简单,只要为变量分配一个值即可.例如: var1 ='Hello Wo ...

  8. 以30字符宽居中输出python字符串_Python 字符串

    字符串是 Python 中最常用的数据类型.我们可以使用引号('或")来创建字符串. 创建字符串很简单,只要为变量分配一个值即可.例如: var1 = 'Hello World!'var2= ...

  9. 纵向输出字符串python_python字符串(转义字符)_1.05

    字符串是python中最常用的数据类型,我们可以使用引号(' 或 '')来创建字符串 创建字符串很简单,只要为变量分配一个值即可.例如: var1 = 'hello word' var2 = &quo ...

最新文章

  1. Redis客户端JetCache的单机版和集群版的配置
  2. 你就是个普通博士,安心去个三四流高校就可以了!杰青优青不是你努力了就能拿到的......
  3. 使用html测试数据库连接与操作(含界面) 第二步 功能实现
  4. 大型局域网二层三层结构比较
  5. 使用jQuery卸载绑定的事件
  6. sklearn one_hot向量输出维度第2维大小的本质
  7. SAP Spartacus 如何取得某个table字段对应的Angular Component
  8. window 下分linux分区,如何在windows9x下访问linux分区
  9. php中update()函数,update_option()函数
  10. java手动调用finalize_Java并手动执行finalize
  11. C#实现动态桌面背景图片切换(续)
  12. 同人游戏开发手记(三) - 第二章 守护者之剑系列 (2.1 ~ 2.2)
  13. 雨林木风四大绝笔系统下载
  14. word插入公式/endnote
  15. element中el-autocomplete实现中英文搜索功能
  16. Source Insight设置黑色背景
  17. 南昌人武学院计算机室,【志愿者日记】南昌大学人武学院:用行动感染身边的人...
  18. 合成大西瓜(西瓜雨版)及改版思路(保姆式教程)
  19. 【iOS】MVC设计模式
  20. 编制可行性研究报告的依据和要求有哪些?

热门文章

  1. android sdk救黑砖,[原创]关于手机救软砖(soft brick)的一点总结
  2. android订餐系统app、android购物商城系统app 手机端+服务器端 mysql数据库,界面简单,功能齐全 安卓购物商城 安卓在线订餐系统
  3. 用ffmpeg+nginx+海康威视网络摄像头rtsp在手机端和电脑端实现直播
  4. 物联网还有哪些创业机会?
  5. 本题要求实现一个函数,对给定平面任意两点坐标(x 1​ ,y 1​ )和(x 2​ ,y 2​ ),求这两点之间的距离。
  6. python前n项和存为一个数组_python-将数组或DataFrame与其他信息一起保存在文件中...
  7. SpringCloud进阶-Hystrix的熔断机制+Hystrix的工作流程
  8. 百度万亿流量的转发引擎BFE开源了!
  9. 算力网络 — 算力中心
  10. 新药开发相关计算机辅助设计,研究称:药物开发将步入计算机辅助设计时代