首页 > 编程语言 >python字符串操作

python字符串操作

时间:2023-05-31 22:11:15浏览次数:68  
标签:下标 python print var 字符串 操作 hello

python字符串操作

字符串定义

可用单引号、双引号、三引号来定义字符串

# eg:
var1 = 'Hello World!'
var1 = "Hello World!"
var1 = """Hello World!"""

字符串相关的一些操作

1.input()

name = input("请输入你的名字:")
#输入张三
print(name)# 张三
print(type(name))# str

2.下标索引

# 索引从0开始
var1 = 'Hello World!'
# 取第一个元素就是:var1[0]
# 取第三个元素就是:var1[2]

3.切片

# 切⽚是指对操作的对象截取其中⼀部分的操作
# 不包含结束位置下标对应的数据, 正负整数均可
# 步⻓是选取间隔,正负整数均可,默认步⻓为1
var1 = 'Hello World!'
print(name[2:5])    # 从2开始,到5结束(不会拿到5本身)
print(name[2:5:1])  # 从2开始,到5结束,步长为1(不会拿到5本身)
print(name[:5])     # 从0开始,下表为5结束(不会拿到本身)
print(name[1:])     # 从1开始,一直到结束
print(name[:])      # 拿取所有
print(name[::2])    # 从0开始,步长为2,拿取所有
print(name[:-1])    # 从0开始,到最后一个数结束(-1代表最后一个数,不包含-1本身)
print(name[-4:-1])  # 从倒数第四个开始,到倒数第一个结束(不包含-1本身)
print(name[::-1])   # 从-1开始,倒着打印字符串,步长为1
print(name[::-2])   # 从-1开始,倒着打印字符串,步长为2
print(var2[:-4:-1]) # 从-1开始,倒着打印字符串,到倒数第四个结束(不包含倒数第四个),步长为1

4.查找

字符串查找⽅法即是查找元素在字符串中的位置或出现的次数

  • find():检测某个元素是否包含在这个字符串中,如果在,返回这个字符开始的位置下标,否则则返回-1。
# 字符串序列.find(⼦符, 开始位置下标, 结束位置下标)
# 开始和结束位置下标可以省略,表示在整个字符串序列中查找。
var = "hello and python and hello world"

print(var.find("and"))          # 查找到and首字母下标,如果没有,则返回-1
print(var.find("and",8,20))     # 查找到下标为8-20,and首字母下标,如果没有,则返回-1
print(var.find("ors"))          # 查找ors,如果没有,则返回-1
  • index():检测某个元素是否包含在这个字符串中,如果在返回这个元组开始的位置下标,否则则报异常。
# 字符串序列.index(⼦符, 开始位置下标, 结束位置下标)
# 注意:开始和结束位置下标可以省略,表示在整个字符串序列中查找。
var = "hello and python and hello world"

print(var.index("and"))          # 查找到and首字母下标
print(var.index("and",8,20))     # 查找到下标为8-20,and首字母下标
print(var.index("ors"))          # 查找ors,如果没有,则报错
  • count():返回某个元素在字符串中出现的次数
# 字符串序列.count(⼦符, 开始位置下标, 结束位置下标) 
# 注意:开始和结束位置下标可以省略,表示在整个字符串序列中查找。
var = "hello and python and hello world"

print(var.count("and"))         # 查看在字符串var中,and出现了多少次
print(var.count("ands"))        # 如果没有,则返回0次
print(var.count("and",8,20))    # 在一个区间内查找and出现的次数

拓展:

var = "hello and python and hello world"

# rfind(): 和find()功能相同,但查找⽅向为右侧开始。
print(var.rfind("and"))

# rindex():和index()功能相同,但查找⽅向为右侧开始。
print(var.rindex("and"))

5.修改

  • replace():替换内容
# 字符串序列.replace(旧⼦符, 新⼦符, 替换次数) 
# 注意:替换次数如果超出⼦串出现次数,则替换次数为该⼦串出现次数。
var = "hello and python and hello world"

print(var.replace("and","和"))       # 将里面所有的and替换为和
print(var.replace("and","和",1))     # 将and替换为和,只替换一次

注意:数据按照是否能直接修改分为可变类型不可变类型两种。字符串类型的数据修改的时候不能改变原有字符串,属于不能直接修改数据的类型即是不可变类型。

  • split():按照指定字符分割字符串。
# 字符串序列.split(分割字符, num)
# 注意:num表示的是分割字符出现的次数,切割完成之后他会返回一个列表
var = "hello and python and hello world"

print(var.split("and"))         # 以and为界,分隔开其他字符串,返回一个列表

print(var.split("and",1))       # 以and为界,分隔开其他字符串,只分割一次,返回一个列表
  • join():⽤⼀个字符或字符合并字符串,即是将多个字符串合并为⼀个新的字符串。
# 字符.join(多字符串组成的序列)

list1 = ["hello", "python", "i", "love", "you"]
t1 = ("hello", "python", "i", "love", "you")
set1 = {"hello", "python", "i", "love", "you"}

print("__".join(list1))     # 将列表转化为字符串,并且使用指定符号隔开
print(",".join(t1))         # 将元组转化为字符串,并且使用指定符号隔开
print("|".join(set1))       # 将集合转化为字符串,并且使用指定符号隔开
  • capitalize():将字符串第⼀个字符转换成⼤写。
var = "hello and python and hello world"

print(var.capitalize())			# 将字符串第⼀个字符转换成⼤写。

  • title():将字符串每个单词⾸字⺟转换成⼤写。
var = "hello and python and hello world"

print(var.title())				# 将字符串每个单词⾸字⺟转换成⼤写。
  • upper():将字符串中⼩写转⼤写。
var = "hello and python and hello world"

print(var.upper())				# 将字符串中⼩写转⼤写。
  • lower():将字符串中⼤写转⼩写。
var = "hello and python and hello world"

print(var.lower())				# 将字符串中⼤写转⼩写。
  • lstrip():删除字符串左侧空⽩字符。 了解即可
var = "    hello and python and hello world      "

print(var.lstrip())				# 删除左侧空格
  • rstrip():删除字符串右侧空⽩字符。 了解即可
var = "    hello and python and hello world      "

print(var.rstrip())				# 删除右侧空格
  • strip():删除字符串两侧空⽩字符。
var = "    hello and python and hello world      "

print(var.strip())				# 删除两侧空格
  • just(): 填充字符串
# 字符串序列.ljust(⻓度, 填充字符)
var = "hello"

print(var.ljust(10,"_"))	# 左对齐
print(var.rjust(10,"_"))	# 右对齐
print(var.center(10,"_"))	# 居中对齐

6.判断

  • startswith():检查字符串是否是以指定元素开头
# 字符串序列.startswith(⼦串, 开始位置下标, 结束位置下标) 
var = "hello and python and hello world"

print(var.startswith("hello"))			# 开头是hello,返回True
print(var.startswith("and"))			# 开头不是and,返回False
print(var.startswith("and",6,20))		# 在索引6-20,开头是and,返回True
  • endswith():检查字符串是否是以指定元素结尾
var = "hello and python and hello world"

print(var.endswith("and"))				# 结尾不是and,返回False
print(var.endswith("world"))			# 结尾时world,返回True
print(var.endswith("and",0,9))			# 在0到9的索引范围,是and结尾,返回True
  • isalpha():如果字符串所有字符都是字⺟则返回 True, 否则返回 False。
mystr1 = 'hello'
mystr2 = 'hello12345'

print(mystr1.isalpha())		# 结果:True
print(mystr2.isalpha())		# 结果:False
  • isdigit():如果字符串只包含数字则返回 True 否则返回 False。
mystr1 = 'aaa12345'
mystr2 = '12345'

print(mystr1.isdigit())		# 结果: False
print(mystr2.isdigit())		# 结果:True
  • isalnum():如果字符串所有字符都是字⺟或数字则返 回 True,否则返回False。
var1 = 'aaa12345'
var2 = '12345-'

print(var1.isalnum())		# 结果:True
print(var2.isalnum())		# 结果:False
  • isspace():如果字符串中只包含空⽩,则返回 True,否则返回 False。
mystr1 = '1 2 3 4 5'
mystr2 = '    '

print(mystr1.isspace())		# 结果:False
print(mystr2.isspace())		# 结果:True

7.字符串运算
a = "Hello",b = "Python"

+ 字符串连接 >>>a + b 'HelloPython'
[] 通过索引获取字符串中字符 >>>a[1] 'e'
[ : ] 截取字符串中的一部分 >>>a[1:4] 'ell'
in 成员运算符 - 如果字符串中包含给定的字符返回 True >>>"H" in a True
not in 成员运算符 - 如果字符串中不包含给定的字符返回 True >>>"M" not in a True
r 取消转义 >>>r“你\n好” 你\n好
% 格式字符串

标签:下标,python,print,var,字符串,操作,hello
From: https://www.cnblogs.com/it-hww/p/17447477.html

相关文章

  • python离线下载安装第三方包
    下载离线安装包#dpackages选项表示将多个文件保存在packages文件夹下例:下载requestspipdownloadrequests-dpackages-ihttps://pypi.tuna.tsinghua.edu.cn/simple安装离线包#--find-links=路径选项来指定寻找依赖的路径,--no-index选项表示不要检查PyPI,以requests包......
  • python基础(变量、数据类型)
    python简介Python是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。Python的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构。python变量什么是变量:在python中,变量其实严格意义上称作为“名......
  • python
    pythonnumber类型转换 pythonmath模块、cmath模块python数学模块 python随机数函数 python三角函数 python数字python转义字符 python字符串运算 python字符串格式化符号    ......
  • 【随手记录】关于Java字符串长度
    在java当中,在运行期间,字符串的长度是有最大限制的:21亿,也就是4GB;在编译期间,字符串的长度最大为:65534。字符串的内容是由一个字符数组char[]来存储的,由于数组的长度及索引是整数,Integer的最大范围是2^31-1,所以数组的最大长度可以使【0~2^31-1】通过计算是大概4GB=(2*2^31-......
  • Python潮流周刊#4:Python 2023 语言峰会
    你好,我是猫哥。这里记录每周值得分享的Python及通用技术内容,本期是特别加更版,聚焦于Python官方2023年语言峰会的系列博客。博客原文:https://pythoncat.top/posts/2023-05-31-weekly4每年在PyConUS开始之前,Python核心开发者、维护者和特邀嘉宾都会聚在一起参加Python......
  • Python连接es笔记四之创建和删除操作
    本文首发于公众号:Hunter后端原文链接:Python连接es笔记四之创建和删除操作这一篇笔记介绍一下索引和数据的创建和删除。其实对于索引来说,如果可以接触到kibana的话,可以很方便的在界面进行操作,这里简单介绍一下如何使用代码来操作索引的创建和删除。索引的创建和删除操作使......
  • 比较两个字符串最长有多少个连续字符相等
    比较两个字符串最长有多少个连续字符相等#include<stdio.h>#include<string.h>intcompare(char*a,char*b){inti,j;intlen=0;intmax=0;inttemp=0;for(i=0;i<strlen(a);i=temp,i++){temp=i;for(j=0,len=0;j<strle......
  • 统计一个字符串中不重复的字符串的最大长度
    统计一个字符串中不重复的字符串的最大长度#include<stdio.h>#include<math.h>#include<string.h>#include<unistd.h>intget_maxlen(char*s){inta[128]={0};intb=0,left=0;intmax=0;while(b<strlen(s)){if(a[s[b]]&......
  • 使用OnePlus 6T(一加6T)刷入 Kali NetHunter的操作总结
    前景概述:看到网上有人用手机进行BadUSB攻击,自己也幻想了一下在手机中使用KaliLinux的场景,看到Kali官方提供的有移动端的设备Nethunter,于是我就筹划这准备刷入这个系统。想要刷入NetHunter,并不是非常简单的事情,但是如果你有刷机基础的话,也可以是很简单的步骤。我是一个小白,一......
  • POSIX 进程间通信 (可移植操作系统接口)
    1、什么是POSIX标准PortableOperatingSystemInterfaceforComputingSystem.他是一个针对操作系统(准确地说是针对类Unix操作系统)的标准化协议。这个协议是对操作系统服务接口的标准化,从而保证了应用程序在源码层次的可移植性。如今主流的Linux系统都做到了兼容POSIX标准。......