Python 字符串:替换、连接、拆分、 Reverse

⚡ 智能摘要

Python 字符串是不可变的字符序列,它内置了许多用于文本处理的方法。以下示例演示了切片、字符串运算符、替换(replace())、上标(upper())、下标(lower())、连接(join())、反转(reversed)和分割(split())等操作,所有示例均使用可运行的代码。

  • 🧵 将字符串视为对象: Python 将每个字符串都视为对象,因此方法直接附加到字符串变量。
  • 🔤 大小写转换: upper()、lower() 和 capitalize() 函数用于重新定义字母大小写,而不改变原始字符串。
  • 🔗 合并与拆分: join() 将字符与分隔符连接起来,而 split() 将文本拆分成子字符串列表。
  • 🔒 不变性: replace() 会返回一个新字符串,因为 Python 字符串不能直接修改。
  • 🤖 人工智能辅助: AI 编码助手生成并解释字符串方法,加快文本处理和 NLP 预处理任务的速度。

Python 字符串替换、连接、拆分 Reverse

In Python一切皆对象,字符串也是对象。 Python 只需将字符用双引号括起来即可创建字符串。

例如:

变量 = “你好,世界!”

访问字符串中的值

Python 不支持字符类型;这些被视为长度为 1 的字符串,也被视为子字符串。

我们使用方括号以及索引进行切片以获取子字符串。

var1 = "Guru99!"
var2 = "Software Testing"
print ("var1[0]:",var1[0])
print ("var2[1:5]:",var2[1:5])

输出:

var1[0]: G
var2[1:5]: oftw 

各种字符串 Opera职权范围

字符串运算符有很多种,可以用于不同的用途,例如连接不同的字符串。

假设 a=guru 且 b=99,则 a+b=“guru99”。类似地,如果您使用 a*2,则会得到“GuruGuru同样,你也可以在字符串中使用其他运算符。

Opera器 描述 例如:
[] 切片——它给出给定索引中的字母 a[1] 将从单词中得到“u”。 Guru 因此(0=G,1=u,2=r,3=u)

x="Guru"
print (x[1])
[ : ] 范围切片——它返回给定范围内的字符 x [1:3] 它会从单词中得出“ur” Guru请记住,它不会考虑数字 0(即 G),而是会考虑其后的单词(即 ur)。

x="Guru" 
print (x[1:3])
in 成员资格 – 如果给定字符串中存在某个字母,则返回 true u 存在于单词中 Guru 因此,它将返回 1(真)。

x="Guru" 
print ("u" in x)
不在 成员资格 – 如果给定字符串中不存在某个字母,则返回 true 单词中不存在 l。 Guru 因此,它将给出 1

x="Guru" 
print ("l" not in x)
r/R 原始字符串抑制了转义字符的实际含义。 打印 r'\n' 打印 \n 并打印 R'/n' 打印 \n
% – 用于字符串格式 %r – 插入对象的规范字符串表示形式(即 repr(o)) %s – 插入对象的展示字符串表示形式(即 str(o)) %d – 格式化数字以进行显示 该代码的输出将是“guru 99”。

name = 'guru'
number = 99
print ('%s %d' % (name,number))
+ 它连接两个字符串 它连接字符串并给出结果

x="Guru" 
y="99" 
print (x+y)
* 重复新密码 它将字符打印两次。

x="Guru" 
y="99" 
print (x*2)

更多例子

您可以更新 Python 通过将变量重新赋值给另一个字符串来改变字符串的值。新值可以与先前的值相关,也可以与完全不同的字符串相关。

x = "Hello World!"
print(x[:6]) 
print(x[0:6] + "Guru99")

输出:

Hello
Hello Guru99

注意:: – 切片 [:6] 或 [0:6] 具有相同的效果。

Python 字符串 replace() 方法

replace() 方法返回一个字符串副本,其中旧字符串的值已被新值替换。

oldstring = 'I like Guru99' 
newstring = oldstring.replace('like', 'love')
print(newstring)

输出:

I love Guru99

更改大小写字符串

In Python,你甚至可以将字符串更改为大写或小写。

string="python at guru99"
print(string.upper())

输出:

PYTHON AT GURU99

同样,您也可以使用其他函数,例如 capitalize()。

string="python at guru99"		
print(string.capitalize())

输出:

Python at guru99

您还可以将字符串转换为小写。

string="PYTHON AT GURU99"
print(string.lower())

输出:

python at guru99

对字符串使用“join”函数

join() 函数提供了一种更灵活的字符串连接方式。使用 join() 函数,您可以将任何字符添加到字符串中。

例如,如果你想在字符串“中的每个字符后添加一个冒号(:)Python”,您可以使用以下代码。

print(":".join("Python"))

输出:

P:y:t:h:o:n

Rev读取字符串

使用 reversed() 函数可以反转字符串。例如,如果我们有一个字符串“12345”,然后应用如下所示的 reversed() 函数代码。

string="12345"		
print(''.join(reversed(string)))

输出:

54321

分割字符串

拆分字符串是另一个可以应用于 Python让我们以字符串“guru99 career guru99”为例。首先,我们使用 word.split 命令分割字符串并获取结果。

word="guru99 career guru99"		
print(word.split(' '))

输出:

['guru99', 'career', 'guru99']

为了更好地理解这一点,我们再来看一个 split 函数的例子。我们将空格(' ')替换为('r'),这样字符串中所有出现 'r' 的地方都会被分割。

word="guru99 career guru99"		
print(word.split('r'))

输出:

['gu', 'u99 ca', 'ee', ' gu', 'u99']

重要提示: In Python字符串是不可变的。

考虑以下代码:

x = "Guru99"
x.replace("Guru99","Python")
print(x)

输出:

Guru99

它还会回来 Guru99. 这是因为 x.replace(“Guru99”“Python”)返回 替换后的 X 的副本.

您需要使用以下代码来观察变化。

x = "Guru99"
x = x.replace("Guru99","Python")
print(x)

输出:

Python

以上代码是 Python 3 个例子。如果您想运行它们 Python 2、请参考以下代码。

Python 2示例

#Accessing Values in Strings
var1 = "Guru99!"
var2 = "Software Testing"
print "var1[0]:",var1[0]
print "var2[1:5]:",var2[1:5]
#Some more examples
x = "Hello World!"
print x[:6] 
print x[0:6] + "Guru99"
#Python String replace() Method
oldstring = 'I like Guru99' 
newstring = oldstring.replace('like', 'love')
print newstring
#Changing upper and lower case strings
string="python at guru99"
print string.upper()
string="python at guru99"		
print string.capitalize()
string="PYTHON AT GURU99"
print string.lower()
#Using "join" function for the string
print":".join("Python")		
#Reversing String
string="12345"		
print''.join(reversed(string))
#Split Strings
word="guru99 career guru99"		
print word.split(' ')
word="guru99 career guru99"		
print word.split('r')
x = "Guru99"
x.replace("Guru99","Python")
print x
x = "Guru99"
x = x.replace("Guru99","Python")
print x

输出:

var1[0]: G
var2[1:5]: oftw
Hello
Hello Guru99
I love Guru99
PYTHON AT GURU99
Python at guru99
python at guru99
P:y:t:h:o:n
54321
['guru99', 'career', 'guru99']
['gu', 'u99 ca', 'ee', ' gu', 'u99']
Guru99
Python

Python 引入了 .format() 函数,无需再使用繁琐的 %d 等进行字符串格式化。

“ 学习更多关于 Python 字符串拆分()

常见问题

F字符串是以f为前缀的字面量,它将变量和表达式嵌入到花括号中。 Python 3.6 它们比百分比运算符或 format() 方法速度更快、更易读。

使用 strip() 函数去除开头和结尾的空格,使用 lstrip() 函数去除左侧空格,使用 rstrip() 函数去除右侧空格。传递特定字符,例如 strip('xy'),则会去除这些特定字符,而不是空格。

`find()` 方法返回子字符串首次出现位置的索引,如果未找到则返回 -1。`index()` 方法的功能相同,但如果子字符串不存在,则会引发 `ValueError` 异常。

count() 方法返回子字符串出现的次数,例如 'guru99 guru99'.count('guru99') 返回 2。您还可以传递可选的起始索引和结束索引来统计切片中的次数。

使用 `startswith()` 和 `endswith()` 函数,它们分别返回 `True` 或 `False`。这两个函数都接受一个元组,因此 `text.startswith(('http', 'https'))` 可以一次检查多个前缀。这些检查区分大小写,因此请先使用 `lower()` 函数进行规范化。

`==` 运算符比较字符串值,如果字符匹配则返回 True。`is` 运算符比较标识,即两个名称是否指向内存中的同一个对象。对于日常文本比较,请始终使用 `==`。

AI 编码助手能够根据纯文本提示生成字符串处理代码,解释不熟悉的方法,并提供更简洁的替代方案。在机器学习和自然语言处理中,诸如 split()、lower() 和 replace() 之类的操作会在将原始文本输入模型之前对其进行规范化处理。

是的。GitHub Copilot 可以根据描述你目标的评论自动补全诸如 replace()、join() 和 split() 之类的方法。智能 AI 工具更进一步,可以重构整个脚本——例如 swap。ping 使用 join() 或 f-strings 循环——然后运行你的测试。

总结一下这篇文章: