目录
删除字符后的所有内容,保留分隔符
删除最后一次出现的字符后的所有内容
删除最后一次出现后的所有内容,保留分隔符
使用 str.partition() 删除字符后的所有内容
在 Python 中删除字符串中字符之前的所有内容
处理角色不存在的场景
删除最后一次出现的字符之前的所有内容
使用 rsplit() 删除字符最后一次出现之前的所有内容
使用 rpartition() 删除字符最后一次出现之前的所有内容
首页 后端开发 Python教程 Python怎么删除指定字符之前或之后所有内容

Python怎么删除指定字符之前或之后所有内容

May 01, 2023 pm 07:10 PM
python

1

2

3

4

5

6

my_str = 'fql!jiyik!com'

 

separator = '!'

 

result = my_str.split(separator, 1)[0]

print(result)  # ????️ 'fql'

登录后复制

我们使用 str.split() 方法删除字符(示例中的!)之后的所有内容。

str.split() 方法使用定界符将字符串拆分为子字符串列表。

该方法采用以下 2 个参数:

  • separator 在每次出现分隔符时将字符串拆分为子字符串

  • maxsplit 最多完成 maxsplit 拆分(可选)

如果在字符串中找不到分隔符,则返回仅包含 1 个元素的列表。

我们将 maxsplit 参数设置为 1,因为我们只需要拆分字符串一次。

该示例删除字符串中该字符第一次出现后的所有内容。

1

2

3

4

5

6

7

8

9

my_str = 'fql!jiyik!com'

 

 

separator = '!'

result_1 = my_str.split(separator, 1)[0]

print(result_1)  # ????️ 'fql'

 

# ????️ ['fql', 'jiyik!com']

print(my_str.split(separator, 1))

登录后复制

删除字符后的所有内容,保留分隔符

请注意 ,分隔符不包含在字符串中。 如果需要包含它,请使用加法 (+) 运算符。

1

2

3

4

5

6

7

my_str = 'fql!jiyik!com'

 

# ✅ 删除字符后的所有内容,保留分隔符

separator = '!'

 

result = my_str.split(separator, 1)[0] + separator

print(result)  # ????️ fql!

登录后复制

加法 + 运算符可用于在 Python 中连接字符串。

删除最后一次出现的字符后的所有内容

如果我们需要删除字符串中最后一次出现该字符之后的所有内容,请使用 str.rsplit() 方法。

1

2

3

4

5

6

7

my_str = 'fql!jiyik!com'

 

separator = '!'

 

# ✅ 删除字符最后一次出现后的所有内容

result = my_str.rsplit(separator, 1)[0]

print(result)  # ????️ 'fql!jiyik'

登录后复制

除了从右侧拆分外,rsplit() 的行为类似于 split()。

str.rsplit() 方法从右边拆分字符串,将 maxsplit 设置为 1 时,它只拆分一次。

删除最后一次出现后的所有内容,保留分隔符

如果我们需要包括您拆分的字符,请使用加法运算符 (+)。

1

2

3

4

5

6

my_str = 'fql!jiyik!com'

 

separator = '!'

 

result = my_str.rsplit(separator, 1)[0] + separator

print(result)  # ????️ 'fql!jiyik!'

登录后复制

使用 str.partition() 删除字符后的所有内容

我们还可以使用 str.partition() 方法删除字符串中特定字符后的所有内容。

1

2

3

4

5

6

7

8

my_str = 'fql!jiyik!com'

separator = '!'

 

result = my_str.partition(separator)[0]

print(result)  # ????️ 'fql'

 

result = ''.join(my_str.partition(separator)[0:2])

print(result)  # ????️ 'fql!'

登录后复制

str.partition 方法在第一次出现提供的分隔符时拆分字符串。

该方法返回一个包含 3 个元素的元组 - 分隔符之前的部分、分隔符和分隔符之后的部分。

1

2

3

4

5

my_str = 'fql!jiyik!com'

separator = '!'

 

# ????️ ('fql', '!', 'jiyik!com')

print(my_str.partition(separator))

登录后复制

如果在字符串中找不到分隔符,则该方法返回一个包含该字符串的元组,后跟 2 个空字符串。

如果我们需要在结果中包含分隔符,请使用 str.join() 方法连接第一个和第二个列表项。

1

2

3

4

5

my_str = 'fql!jiyik!com'

separator = '!'

 

result = ''.join(my_str.partition(separator)[0:2])

print(result)  # ????️ 'fql!'

登录后复制

str.join 方法将一个可迭代对象作为参数并返回一个字符串,该字符串是可迭代对象中字符串的串联。

调用该方法的字符串用作元素之间的分隔符。

在 Python 中删除字符串中字符之前的所有内容

要删除字符串中某个字符之前的所有内容:

  • 使用 str.find() 方法获取字符的索引。

  • 使用字符串切片并将起始索引设置为字符的索引。

  • 新字符串将不包含前面的字符。

1

2

3

4

my_str = 'apple, banana'

 

result = my_str[my_str.find('b'):]

print(result)  # ????️ banana

登录后复制

str.find 方法返回字符串中提供的子字符串第一次出现的索引。

我们使用字符串切片来获取原始字符串的一部分,该部分从字符的索引开始,一直持续到字符串的末尾。

请注意 ,如果在字符串中未找到子字符串,则 str.find() 方法返回 -1。

处理角色不存在的场景

我们可以处理 find() 方法在 if/else 语句中返回 -1 的情况。

1

2

3

4

5

6

7

8

9

10

11

12

my_str = 'apple, banana'

 

index = my_str.find('b')

print(index) # ????️ 7

 

if index != -1:

    result = my_str[index:]

else:

    result = my_str

    # ????️ alternatively raise an error

 

print(result) # ????️ 'banana'

登录后复制

这是提供的字符不在字符串中的情况的示例。

1

2

3

4

5

6

7

8

9

10

11

12

my_str = 'apple, banana'

 

index = my_str.find('z')

print(index)  # ????️ -1

 

if index != -1:

    result = my_str[index:]

else:

    result = my_str

    # ????️ alternatively raise an error

 

print(result)  # ????️ 'apple, banana'

登录后复制

我们的 else 语句将结果变量分配给整个字符串,但是,可以引发异常。

1

2

3

4

5

6

7

8

9

10

my_str = 'apple, banana'

 

index = my_str.find('z')

print(index)  # ????️ -1

 

if index != -1:

    result = my_str[index:]

else:

    # ????️ this runs

    raise IndexError('provided character not in string')

登录后复制

删除最后一次出现的字符之前的所有内容

如果我们需要删除最后一次出现的字符之前的所有内容,请使用 str.rfind() 方法。

1

2

3

4

5

my_str = 'apple,banana,bear'

 

result = my_str[my_str.rfind('b'):]

 

print(result) # ????️ 'bear'

登录后复制

str.rfind 方法返回字符串中找到提供的子字符串的最高索引。

如果字符串中不包含子字符串,则该方法返回 -1。

我们可以使用 if/else 语句处理字符不存在于字符串中的情况。

1

2

3

4

5

6

7

8

9

10

my_str = 'apple,banana,bear'

 

index = my_str.rfind('b')

 

if index != -1:

    result = my_str[index:]

else:

    result = my_str

 

print(result)  # ????️ 'bear'

登录后复制

如果 else 块运行,我们将结果变量设置为整个字符串。

或者,我们可以在 else 块中引发错误,例如 raise IndexError('your message here')。

我们还可以使用 str.rsplit() 方法删除最后一次出现的字符之前的所有内容。

使用 rsplit() 删除字符最后一次出现之前的所有内容

要删除最后一次出现的字符之前的所有内容:

  • 使用 str.rsplit() 方法从右边拆分字符串。

  • 访问索引 1 处的列表项。

  • 结果将是一个字符串,其中包含最后一次出现该字符之后的所有内容。

1

2

3

4

5

6

7

8

9

10

11

my_str = 'example.com/articles/python'

 

result = my_str.rsplit('/', 1)[1]

print(result)  # ????️ 'python'

 

# ????️ 如果你想在结果中包含这个字符

result_2 = '/' + my_str.rsplit('/', 1)[1]

print(result_2)  # ????️ '/python'

 

# ????️ ['example.com/articles', 'python']

print(my_str.rsplit('/', 1))

登录后复制

我们使用 str.rsplit() 方法删除最后一个字符出现之前的所有内容。

str.rsplit 方法使用提供的分隔符作为分隔符字符串返回字符串中的单词列表。

1

2

3

4

my_str = 'one two three'

 

print(my_str.rsplit(' '))  # ????️ ['one', 'two', 'three']

print(my_str.rsplit(' ', 1))  # ????️ ['one two', 'three']

登录后复制

该方法采用以下 2 个参数:

  • separator 在每次出现分隔符时将字符串拆分为子字符串

  • maxsplit 最多做maxsplit的分裂,最右边的(可选)

除了从右侧拆分外,rsplit() 的行为类似于 split()。

请注意 ,我们为 maxsplit 参数提供了值 1,因为我们只想从右侧拆分字符串一次。

1

2

3

4

5

6

7

my_str = 'example.com/articles/python'

 

result = my_str.rsplit('/', 1)[1]

print(result)  # ????️ 'python'

 

# ????️ ['example.com/articles', 'python']

print(my_str.rsplit('/', 1))

登录后复制

最后一步是访问索引 1 处的列表元素,以获取包含指定字符最后一次出现之后的所有内容的字符串。

如果要在结果中包含该字符,请使用加法 + 运算符。

1

2

3

4

my_str = 'example.com/articles/python'

 

result = '/' + my_str.rsplit('/', 1)[1]

print(result)  # ????️ '/python'

登录后复制

使用 rpartition() 删除字符最后一次出现之前的所有内容

或者,我们可以使用 str.rpartition() 方法。

1

2

3

4

5

6

7

my_str = 'example.com/articles/python'

 

result = my_str.rpartition('/')[2]

print(result)  # ????️ 'python'

 

# ????️ ('example.com/articles', '/', 'python')

print(my_str.rpartition('/'))

登录后复制

str.rpartition 方法在提供的分隔符的最后一次出现处拆分字符串。

该方法返回一个包含 3 个元素的元组 - 分隔符之前的部分、分隔符和分隔符之后的部分。

如果在字符串中找不到分隔符,则该方法返回一个包含两个空字符串的元组,后跟字符串本身。

如果需要在结果中包含分隔符,请使用 str.join() 方法连接第二个和第三个列表项。

1

2

3

4

my_str = 'example.com/articles/python'

 

result = ''.join(my_str.rpartition('/')[1:])

print(result)  # ????️ '/python'

登录后复制

str.join 方法将一个可迭代对象作为参数并返回一个字符串,该字符串是可迭代对象中字符串的串联。

调用该方法的字符串用作元素之间的分隔符。

以上是Python怎么删除指定字符之前或之后所有内容的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

模板化的优点和缺点有哪些? 模板化的优点和缺点有哪些? May 08, 2024 pm 03:51 PM

模板化的优点和缺点有哪些?

Google AI 为开发者发布 Gemini 1.5 Pro 和 Gemma 2 Google AI 为开发者发布 Gemini 1.5 Pro 和 Gemma 2 Jul 01, 2024 am 07:22 AM

Google AI 为开发者发布 Gemini 1.5 Pro 和 Gemma 2

怎么下载deepseek 小米 怎么下载deepseek 小米 Feb 19, 2025 pm 05:27 PM

怎么下载deepseek 小米

分享几个.NET开源的AI和LLM相关项目框架 分享几个.NET开源的AI和LLM相关项目框架 May 06, 2024 pm 04:43 PM

分享几个.NET开源的AI和LLM相关项目框架

deepseek怎么问他 deepseek怎么问他 Feb 19, 2025 pm 04:42 PM

deepseek怎么问他

evaluate函数怎么保存 evaluate函数怎么保存 May 07, 2024 am 01:09 AM

evaluate函数怎么保存

NET40是什么软件 NET40是什么软件 May 10, 2024 am 01:12 AM

NET40是什么软件

deepseek该怎么搜索 deepseek该怎么搜索 Feb 19, 2025 pm 05:18 PM

deepseek该怎么搜索

See all articles