python中的字符串(str)操作
字符串是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)操作的更多相关文章
- python中关于字符串的操作
Python 字符串操作方法大全 python字符串操作实方法大合集,包括了几乎所有常用的python字符串操作,如字符串的替换.删除.截取.复制.连接.比较.查找.分割等,需要的朋友可以参考下 1. ...
- Python中对字符串的操作
Python字符串的相关操作 1.字符串格式判断 s.isalnum() #所有字符都是数字或者字母 s.isalpha() #所有字符都是字母 s.isdigit() #所有字符都是数字 s.isl ...
- 【292】Python 关于中文字符串的操作
参考:什么是字符编码? 参考:Unicode 和 UTF-8 有何区别? 参考:python中文decode和encode转码 一.相关说明 Python 中关于字符串的操作只限于英文字母,当进行中文 ...
- Python中的字符串操作总结(Python3.6.1版本)
Python中的字符串操作(Python3.6.1版本) (1)切片操作: str1="hello world!" str1[1:3] <=> 'el'(左闭右开:即是 ...
- 一句python,一句R︱python中的字符串操作、中文乱码、NaN情况
一句python,一句R︱python中的字符串操作.中文乱码.NaN情况 先学了R,最近刚刚上手Python,所以想着将python和R结合起来互相对比来更好理解python.最好就是一句pytho ...
- 【转】python 历险记(四)— python 中常用的 json 操作
[转]python 历险记(四)— python 中常用的 json 操作 目录 引言 基础知识 什么是 JSON? JSON 的语法 JSON 对象有哪些特点? JSON 数组有哪些特点? 什么是编 ...
- 【转】Python中的字符串与字符编码
[转]Python中的字符串与字符编码 本节内容: 前言 相关概念 Python中的默认编码 Python2与Python3中对字符串的支持 字符编码转换 一.前言 Python中的字符编码是个老生常 ...
- php大力力 [024节]PHP中的字符串连接操作(2015-08-27)
2015-08-27 php大力力024.PHP中的字符串连接操作 PHP中的字符串连接操作 阅读:次 时间:2012-03-25 PHP字符串的连接的简单实例 时间:2013-12-30 很多 ...
- Python中的字符串处理
Python转义字符 在需要在字符中使用特殊字符时,python用反斜杠(\)转义字符.如下表: 转义字符 描述 \(在行尾时) 续行符 \\ 反斜杠符号 \' 单引号 \" 双引号 \a ...
- python中的字符串
一.在python中,字符串是不可变类型 通过以下代码说明: >>> s = 'hello, world' >>> id(s) 2108634288304 > ...
随机推荐
- PHP json数据的运用
今天这里总结一下json数据的使用实例,从5.2版本开始,PHP原生提供json_encode()和json_decode()函数,前者用于编码,后者用于解码. 一.json_encode() 1 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 ...
- 【面试虐菜】—— 常用SQL语句
创建表 create table emp( id decimal, name ), age decimal) 删除表 DROP TABLE EMP 插入默认值 CREATE TABLE EMP( Id ...
- 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 ...
- 【LOJ2461】「2018 集训队互测 Day 1」完美的队列(分块+双指针)
点此看题面 大致题意: 让你维护\(n\)个有限定长度的队列,每次区间往队列里加数,求每次加完后的队列里剩余元素种类数. 核心思路 这道题可以用分块+双指针去搞. 考虑求出每个操作插入的元素在队列中被 ...
- ACM-ICPC (10/17)
今天满课啊,天气太冷了,网上找了一下虚树的东西,还没弄懂~~~(:´д`)ゞ 牛客网挑战赛1 给定一棵n个点的树,问其中有多少条长度为偶数的路径.路径的长度为经过的边的条数.x到y与y到x被视为同一条 ...
- (第四场)G Maximum Mode 【YY+暴力】
链接:https://www.nowcoder.com/acm/contest/142/G 来源:牛客网 题目描述 The mode of an integer sequence is the val ...
- Java之生成条形码、PDF、HTML
关于Java生成HTML,可参考我的这篇文章:FreeMarker之根据模型生成HTML代码 当然了,该篇文章也会给你很多启发,比如,根据html生成html,大家不要小看这个,著名的WordPres ...
- ubuntu开启ssh连接
1.安装openssh-server sudo apt-get install -y openssh-server 2.修改/etc/ssh/sshd-config配置 PermitRootLogin ...
- ASP.NET MVC Cookie 身份验证
1 创建一个ASP.NET MVC 项目 添加一个 AccountController 类. public class AccountController : Controller { [HttpGe ...