python中的字符串方法

devtools/2024/9/24 14:25:10/

python中的字符串

举个例子先
python">name = '貂蝉开大'  #声明了一个字符串
print(name) # 打印了一个字符串
print(name[0:1]  #输出貂蝉
print(name[2:3]  #输出开大
扩展方法
find()
python"># 查找字符串中某个字符的索引
index_ = name.find("貂")
print(index_)   # 输出 0
title()
python"># 将字符串首字母大写
diaochan = 'diaoChan'
new_name = diaochan.title();
print(new_name) # 'DiaoChan'
upper()
python"># 将字符串全部大写 
name = 'diaochankaida'
name_ = name.upper();
print(name_)  #'DIAOCHANKAIDA'
lower()
python">#将字符串全部小写
name = 'ABCD'
new_name = name.lower()
print(new_name)  # 'abcd'
count()
python"># 计算某个子串在字符串中出现的次数,可以指定开始和结束
name = 'aaaabbbbsdddekkkk'
num_a = name.count('a');
print(num_a) # 4
endswith()和startwith()
python"># 返回一个布尔值True 或 False
# string.endswith(suffix[, start[, end]])
# string.startswith(suffix[, start[, end]])
str_ = 'hello,pete'
print(str.endswith('a'),2,4)  # False
print(str.startswith('h'))  # True
find() & rfind() & index() & rindex()
python"># rfind() 和 rindex() 都是用于在一个字符串中寻找某个子串最后一次出现的位置的方法,rfind未找到返回-1,不会抛出异常,rindex未找到会抛出异常ValueError
# rfind(sub[, start[, end]])
# rindex(sub[, start[, end]])#find(),index()是从左到右搜索,而rfind(),rfind()是从右到左搜索。s = "hello world"
print(s.rfind("o"))  # 输出: 7,因为"o"在"world"中最后的位置是7
print(s.rfind("Python"))  # 输出: -1,因为"Python"不在s中try:print(s.rindex("o"))  # 输出: 7,同上
except ValueError:pass
replace()
python"># my_str.replace(old, new[, count])
# 将字符串中的 old 替换为 new 字符串,如果给定 count,则表示只替换前 count 个 old 子串。text = "Hello, World!"
new_text = text.replace("World", "Python")
print(new_text)  # 输出: Hello, Python!
 split()、rsplit()和 splitlines()
python">my_str.split(sep=None, maxsplit=-1)
my_str.rsplit(sep=None, maxsplit=-1)
my_str.splitlines([keepends=True])#  split() 根据 sep 对 my_str 进行分割,maxsplit用于指定分割次数。#  splitlines() 用来分割换行符。# split(): 这个方法默认按空格进行分割,并返回由子字符串组成的列表。例子如下:
sentence = "Hello, World! This is a test."
words = sentence.split()
print(words)  # ["Hello,", "World!", "This", "is", "a", "test."]
# 可以通过传递参数给split()指定其他分隔符,如逗号 , 或者自定义字符。#rsplit(): 类似于split(), 但是从字符串的右端开始分割。例如:
reversed_words = "Hello, World! This is a test.".rsplit(',')
print(reversed_words)  # ["Hello, World! This is a test", ""]#splitlines(): 主要用于文本文件的处理,它会根据行结束符(\n, \r\n等)自动分隔成多行。默认情况下,它会保留每行的换行符。例如:
lines = "Hello\nWorld\nThis\nIs a test".splitlines()
print(lines)  # ["Hello", "World", "This", "Is a test"]
# 可以通过参数keepends=True来保留换行符:
lines_with_newlines = "Hello\nWorld\nThis\nIs a test".splitlines(keepends=True)
print(lines_with_newlines)  # ["Hello\n", "World\n", "This\n", "Is a test"]
join()
python"># 它用于将序列(如列表或元组)中的元素连接成一个新的字符串,每个元素之间由指定的分隔符连接。例如:
#  my_str.join(iterable)
words = ['Hello', 'world', '!']
sentence = '-'.join(words)
print(sentence)  # 输出 "Hello-world-!"
strip()、lstrip()和 rstrip()
python"># strip() 函数:去除字符串两端的空白字符(包括空格、制表符、换页符等)。如果需要保留开头或结尾的特定字符,可以使用 lstrip() 或 rstrip() 分别去除左边或右边的空白:s = " Hello World "
clean_s = s.strip()
print(clean_s)  # 输出 "Hello World"s = "   Hello World   "
clean_s = s.lstrip()
print(clean_s)  # 输出 "Hello World   "s = "Hello World   "
clean_s = s.rstrip()
print(clean_s)  # 输出 "Hello World"
字符串格式化

字符串格式化有三种方式,分别为 % 占位符格式化,format() 方法格式化,以及 f-string

python">#% 占位符格式化(旧式方法):这种方法通过在字符串中使用 % 符号配合元组或字典来替换变量值。例如:
name = "Alice"
age = 25
format_string = "My name is %s and I am %d years old."
formatted = format_string % (name, age)
print(formatted)  # 输出 "My name is Alice and I am 25 years old."#str.format() 方法格式化:这是一种更现代、更易读的格式化方式。使用花括号 {} 包围变量名,然后传入一个包含键值对的字典:
data = {"name": "Bob", "age": 30}
formatted_str = "My name is {} and I am {} years old.".format(data["name"], data["age"])
print(formatted_str)  # 输出 "My name is Bob and I am 30 years old."#f-string(格式化字符串字面量):这是 Python 3.6 及以后版本引入的一种新的字符串格式化方法,直接在字符串前加上 f 或 F 开头,使用大括号内嵌表达式:
name = "Charlie"
age = 40
formatted = f"My name is {name} and I am {age} years old."
print(formatted)  # 输出 "My name is Charlie and I am 40 years old."#各种方法各有特点,f-string 更简洁直观,而旧式方法和 str.format() 更适合复杂格式化需求。


http://www.ppmy.cn/devtools/88567.html

相关文章

计算机毕业设计选题推荐-校园消费点评系统-Java/Python项目实战

✨作者主页:IT研究室✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Python…

C语言基础题:迷宫寻路(C语言版)

1.题目描述 机器猫被困在一个矩形迷宫里。 迷宫可以视为一个n x m 矩阵,每个位置要么是空地,要么是墙。机器猫只能从一个空地走到其上、下、左、右的空地。 机器猫初始时位于(1,1)的位置,问能否走到(n,m)位置。 2.输入格式 第一行&#xff0…

设计模式-状态模式

状态模式是一种行为设计模式,允许对象在内部状态改变时改变它的行为,对象看起来似乎修改了它的类。 以下是一个简单的状态模式的C#实现示例,其中包含一个简单的状态类以及一个上下文类,该上下文类会根据状态改变其行为&#xff1…

C# 工厂方法模式

栏目总目录 概念 工厂方法模式是一种创建型设计模式,它定义了一个用于创建对象的接口,但让子类决定要实例化的类是哪一个。工厂方法让类的实例化推迟到子类中进行。这种模式的主要目的是将对象的创建与使用解耦,使得系统更加灵活和可扩展。 …

vue自定义指令elementui日期组件手动输入

html <el-form-item label"开始时间" prop"beginTime"><!-- :picker-options"pickerOptions" --><el-date-pickerv-model"formData.beginTime"v-elDateFormateditablevalue-format"yyyyMMdd"type"date&…

HarmonyOS 用List组件实现组合列表项

界面分析&#xff1a; 由于整体UX设计图符合从上至下的布局&#xff0c;所以可以采用Column组件作为外层容器 简介&#xff1a; 最上方的标题可以使用Text组件进行加载渲染中间的Banner图和简介分别可以使用Image组件和Text组件进行加载最后一部分可以看作是一个列表&#xf…

图片转换之heic转jpg(使用ImageMagick)

缘由&#xff1a;iphone的图库&#xff0c;用jpg拍照保存后内存占比较大&#xff0c;heic格式会微缩不少。问题来了&#xff0c;电脑不能直接小图预览heic。 分析&#xff1a;现在就是解决小图预览的问题&#xff08;大图用wps可以看&#xff09; 解决&#xff1a;查找了一些…

距离-小米2023笔试(codefun2000)

题目链接 距离-小米2023笔试(codefun2000) 题目内容 在x轴上&#xff0c;给定当前坐标x0 &#xff0c;以及若干个坐标及坐标的值xi :vali &#xff0c;要求找到离x0最近的那个坐标并输出其值val。如果恰好在两个坐标的正中间&#xff0c;那么输出它们值的平均值。 输入描述 包…