字符串是python中数据类型。一般就单引号(‘’)或双引号(“”)引起来的内容就是字符串。

例如:下面两个都是定义字符串

str1 = "hello world"
str2 = 'Hello World' 

1、索引:就是下标,从0开始。默认是从左往右数;当索引为负数时,表示从右往左数。通过索引得到的内容还是一个字符串。

如上面例子str1中字符 'h' 的索引为0。即str1[0] 的值是'h'

字符串是不可变的对象,所以任何操作对字符串是没有影响的。如下面的例子,通过切片对字符串str1进行操作之后,str1的值没有发生改变

2、切片:可以对字符串进行截取

语法:

s[起始位置:结束位置]  ==》结束位置取不到

s[起始位置:]  ==》表示从起始位置截到末尾

s[起始位置:结束位置:步长]

起始位置省略时,表示从0开始;结束位置省略时,表示到末尾;如果步长为负数,则反向来数【默认从左往右截】 

 

>>> str1 = "Hello World"
>>> str1[1:6]
'ello '
>>> str1[6:]
'World'
>>> str1[1:6:2]
'el '
>>> str1 #str1的值没有发生改变,仍然还是"Hello World" 所以说字符串是不可变的对象,任何操作对字符串是没有影响的。
'Hello World'

3、常用操作

1)capitalize() 使字符串的首字母大写

>>> str2 = "hello world"
>>> str2.capitalize()
'Hello world'

2)upper()和lower() 使字符串中的字母大写(小写)

>>> str2 = "HelloWorld"
>>> str2.upper()
'HELLOWORLD'
>>> str2.lower()
'helloworld'

3)swapcase()  大小写转换,即把大写的变成小写,把小写的变成大写

>>> str3 = "Hello World"
>>> str3.swapcase()
'hELLO wORLD'

4)casefold() 转换成小写【不常用】,和lower()的功能一样。lower()对一些字符支持不够友好,但是casefold()对所有字符都支持,包括东欧的一些字母

>>> str4 = "геёжз"#俄文字符
>>> str4.casefold()
'геёжз'

5)title 把每一个特殊字符隔开的首字母大写(中文被认为特殊字符)

>>> str5 = "hello_world_你好_tanxu"
>>> str5.title()
'Hello_World_你好_Tanxu'

6)center(字符串长度) 使得一个字符串在规定的长度内居中

>>> str6 = "hello"
>>> str6.center(20)
' hello '

7)strip():参数为空时默认去两端的空格【一般用于登录时输入用户名和密码】;参数不为空时,去掉左右两端的内容

>>> str7 = "    hello    "
>>> str7.strip()
'hello'
>>> str8 = "aaaaaa哈哈哈哈aaaaaa"
>>> str8.strip("a")
'哈哈哈哈'

 例子:

username = input("请输入用户名:").strip()  #有些不友好的用户会在用户名和密码两端输入多余的空格
password = input("请输入密码:").strip()
if username == "Tanxu" and password == "123456":
print("登录成功!")
else:
print("登录失败!")

 执行结果:

请输入用户名:       Tanxu
请输入密码: 123456
登录成功!

  I、lstrip()没有参数时,默认去掉字符串左边的空格;有参数时,去掉左边的内容

  II、rstrip()没有参数时,默认去掉字符串右边的空格;有参数时,去掉右边的内容

>>> str8.lstrip("a")
'哈哈哈哈aaaaaa'
>>> str8.rstrip("a")
'aaaaaa哈哈哈哈'

8)replace(原字符串,目标字符串,替换个数)  字符串替换

>>> str9 = "Tanxu_is_a_good_girl"
>>> str9.replace("_"," ")#把所有下划线(_)换成空格,第三个参数省略,默认全部替换
'Tanxu is a good girl' >>> str10 = "Tanxu is a good girl"
>>> str10.replace("a","e",2)#把字符a换成字符e 换两个
'Tenxu is e good girl'

9)split(切割的内容) 按照括号内的参数切割,如果是字符串切割后放在一个列表中

>>> str11 = "Tan_xu_is_a_good_girl"
>>> str11.split("_")
['Tan', 'xu', 'is', 'a', 'good', 'girl']#切割后存在列表中

  如果切割的内容在字符的两端会产生空格

>>> str11.split("Tan")
['', '_xu_is_a_good_girl']#左边会产生一个空格
>>> str11.split("girl")
['Tan_xu_is_a_good_', '']#右边会产生一个空格

  

4、字符串中常用的查找操作:

ret = "字符串是 Python 中最常用的数据类型。我们可以使用引号来创建字符串"
print(ret.startswith("字符串"))#判断字符串是否以“字符串”开头,如果是,返回True,否则,返回False
print(ret.endswith("字符串"))#判断字符串是否以“字符串”结束,如果是,返回True,否则,返回False
print(ret.count("的"))#计算字符串中“的”的出现次数
print(ret.find("Python"))#判断字符串中是否有“Python”字符串,如果有返回出现的位置
print(ret.find("Python1"))#如果没有,返回-1
print(ret.find("Python",1,10))#索引查找
print(ret.index("Python"))#返回字符串“Python”的索引,如果没有该字符串,程序会报错

  执行结果:

True
True
1
5
-1
-1
5

  

5、计算字符串的长度:len(字符串)

>>> str12 = "Tanxu"
>>> len(str12)
5

 

6、条件判断

str13 = "123.456"
str14 = "Tanxu"
str15 = "_Tan_xu_"
#是否由字母和数字组成,如果字符串至少有一个字符并且所有字符都是字母或数字返回True,否则返回False
print(str13.isalnum())
print(str14.isalnum())
print(str15.isalnum()) #是否由字母组成,如果字符串中至少有一个字符并且所有字符都是字母则返回True,否则返回False
print(str13.isalpha())
print(str14.isalpha())
print(str15.isalpha()) #是否由数字组成,不包括小数点;如果字符串中只包含数字,则返回True,否则,返回False
print(str13.isdigit())
print(str14.isdigit())
print(str15.isdigit()) #检查字符串是否只包含十进制字符。这种方法只存在于unicode对象。
print(str14.isdecimal()) #isnumeric() 方法检测字符串是否只由数字组成。这种方法是只针对unicode对象。
print(str13.isnumeric())

  

python中的字符串(str)操作的更多相关文章

  1. python中关于字符串的操作

    Python 字符串操作方法大全 python字符串操作实方法大合集,包括了几乎所有常用的python字符串操作,如字符串的替换.删除.截取.复制.连接.比较.查找.分割等,需要的朋友可以参考下 1. ...

  2. Python中对字符串的操作

    Python字符串的相关操作 1.字符串格式判断 s.isalnum() #所有字符都是数字或者字母 s.isalpha() #所有字符都是字母 s.isdigit() #所有字符都是数字 s.isl ...

  3. 【292】Python 关于中文字符串的操作

    参考:什么是字符编码? 参考:Unicode 和 UTF-8 有何区别? 参考:python中文decode和encode转码 一.相关说明 Python 中关于字符串的操作只限于英文字母,当进行中文 ...

  4. Python中的字符串操作总结(Python3.6.1版本)

    Python中的字符串操作(Python3.6.1版本) (1)切片操作: str1="hello world!" str1[1:3] <=> 'el'(左闭右开:即是 ...

  5. 一句python,一句R︱python中的字符串操作、中文乱码、NaN情况

    一句python,一句R︱python中的字符串操作.中文乱码.NaN情况 先学了R,最近刚刚上手Python,所以想着将python和R结合起来互相对比来更好理解python.最好就是一句pytho ...

  6. 【转】python 历险记(四)— python 中常用的 json 操作

    [转]python 历险记(四)— python 中常用的 json 操作 目录 引言 基础知识 什么是 JSON? JSON 的语法 JSON 对象有哪些特点? JSON 数组有哪些特点? 什么是编 ...

  7. 【转】Python中的字符串与字符编码

    [转]Python中的字符串与字符编码 本节内容: 前言 相关概念 Python中的默认编码 Python2与Python3中对字符串的支持 字符编码转换 一.前言 Python中的字符编码是个老生常 ...

  8. php大力力 [024节]PHP中的字符串连接操作(2015-08-27)

    2015-08-27 php大力力024.PHP中的字符串连接操作 PHP中的字符串连接操作  阅读:次   时间:2012-03-25 PHP字符串的连接的简单实例 时间:2013-12-30 很多 ...

  9. Python中的字符串处理

    Python转义字符 在需要在字符中使用特殊字符时,python用反斜杠(\)转义字符.如下表: 转义字符 描述 \(在行尾时) 续行符 \\ 反斜杠符号 \' 单引号 \" 双引号 \a ...

  10. python中的字符串

    一.在python中,字符串是不可变类型 通过以下代码说明: >>> s = 'hello, world' >>> id(s) 2108634288304 > ...

随机推荐

  1. PHP json数据的运用

    今天这里总结一下json数据的使用实例,从5.2版本开始,PHP原生提供json_encode()和json_decode()函数,前者用于编码,后者用于解码. 一.json_encode() 1 2 ...

  2. java.lang.AbstractMethodError: Method com/mchange/v2/c3p0/impl/NewProxyPreparedStatement.isClosed()Z is abstract

    二月 26, 2019 3:47:40 上午 org.apache.catalina.core.StandardWrapperValve invoke严重: Servlet.service() for ...

  3. 【面试虐菜】—— 常用SQL语句

    创建表 create table emp( id decimal, name ), age decimal) 删除表 DROP TABLE EMP 插入默认值 CREATE TABLE EMP( Id ...

  4. bzoj4999 This Problem Is Too Simple!

    Description 给您一颗树,每个节点有个初始值. 现在支持以下两种操作: 1. C i x(0<=x<2^31) 表示将i节点的值改为x. 2. Q i j x(0<=x&l ...

  5. 【LOJ2461】「2018 集训队互测 Day 1」完美的队列(分块+双指针)

    点此看题面 大致题意: 让你维护\(n\)个有限定长度的队列,每次区间往队列里加数,求每次加完后的队列里剩余元素种类数. 核心思路 这道题可以用分块+双指针去搞. 考虑求出每个操作插入的元素在队列中被 ...

  6. ACM-ICPC (10/17)

    今天满课啊,天气太冷了,网上找了一下虚树的东西,还没弄懂~~~(:´д`)ゞ 牛客网挑战赛1 给定一棵n个点的树,问其中有多少条长度为偶数的路径.路径的长度为经过的边的条数.x到y与y到x被视为同一条 ...

  7. (第四场)G Maximum Mode 【YY+暴力】

    链接:https://www.nowcoder.com/acm/contest/142/G 来源:牛客网 题目描述 The mode of an integer sequence is the val ...

  8. Java之生成条形码、PDF、HTML

    关于Java生成HTML,可参考我的这篇文章:FreeMarker之根据模型生成HTML代码 当然了,该篇文章也会给你很多启发,比如,根据html生成html,大家不要小看这个,著名的WordPres ...

  9. ubuntu开启ssh连接

    1.安装openssh-server sudo apt-get install -y openssh-server 2.修改/etc/ssh/sshd-config配置 PermitRootLogin ...

  10. ASP.NET MVC Cookie 身份验证

    1 创建一个ASP.NET MVC 项目 添加一个 AccountController 类. public class AccountController : Controller { [HttpGe ...