热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Python中如何去掉括号内的文字?

Python中如何去掉括号内的文字?原文:https://ww

Python 中如何去掉括号内的文字?

原文:https://www . geesforgeks . org/如何删除 python 括号内的文本/

在本文中,我们将学习如何在 python 中移除括号内的内容而不移除括号。

例:

Input: (hai)geeks
Output: ()geeks
Input: (geeks)for(geeks)
Output: ()for()

我们可以在两种方法中删除括号内的内容而不删除括号,其中一种方法是使用 re 库中的内置方法,第二种方法是通过使用 for 循环迭代字符串来实现这一功能

方法 1: 我们将使用 re 库(正则表达式)的 sub()方法。

sub():sub()方法的功能是它会找到具体的模式,并用一些字符串来代替。

该方法将找到括号或括号中的子字符串,并用空括号替换它。

方法:


  1. Import re library

  2. Now find the substring in brackets and use the sub () method to replace it with () .

  3. We need to pass the sub () method with two parameters, namely mode and string to be replaced with.

  4. Print strings.

在下面的代码中 (。*?) 表示查找包含某些内容的括号的正则表达式。括号 () 在 python 的正则表达式中有一些特殊的含义,所以 Backlash ** 用来逃避这个含义。

python 3

# Importing module
import re
# Input string
string="(Geeks)for(Geeks)"
# \(.*?\) ==> it is a regular expression for finding
# the pattern for brackets containing some content
string=re.sub("\(.*?\)","()",string)
# Output string
print(string)

输出

()for()

时间复杂度: O(2^m + n)。

其中 m 是正则表达式的大小,n 是字符串的大小。这里 sub()方法将花费 2^m 时间使用正则表达式和 O(n)来遍历字符串并替换为“()”来找到模式。

方法 2: 在这个方法中,我们将遍历字符串,如果被迭代的字符不在括号之间,那么该字符将被添加到结果字符串中。

如果字符串中存在左括号或右括号,则括号将被添加到结果字符串中,但中间的字符串不会被添加到结果字符串中。

方法:


  1. Iterate the loop of each character in the string.

  2. If a (" or )" appears in the string, we will add it to the result string.

  3. If the number of brackets in the string is zero, the character is added to the result string.

  4. Here, if the number of brackets is greater than zero, it means that the current character being iterated appears between two brackets.

  5. Print the result string.


Python 3

# Input string
string="geeks(for)geeks"
# resultant string
result = ''
# paren counts the number of brackets encountered
paren= 0
for ch in string:
    # if the character is ( then increment the paren
    # and add ( to the resultant string.
    if ch == '(':
        paren =paren+ 1
        result = result + '('
    # if the character is ) and paren is greater than 0, 
    # then increment the paren and 
    # add ) to the resultant string.
    elif (ch == ')') and paren:
        result = result + ')'
        paren =paren- 1
    # if the character neither ( nor  then add it to
    # resultant string.
    elif not paren:
        result += ch
# print the resultant string.
print(result)

输出

geeks()geeks

时间复杂度: O(n)。

这里 n 是字符串的长度。在代码中,我们对字符串进行迭代,并将内容附加到括号外,这样只需要 O(n)时间。


推荐阅读
  • 技术分享:从动态网站提取站点密钥的解决方案
    本文探讨了如何从动态网站中提取站点密钥,特别是针对验证码(reCAPTCHA)的处理方法。通过结合Selenium和requests库,提供了详细的代码示例和优化建议。 ... [详细]
  • 本文详细解析了Python中的os和sys模块,介绍了它们的功能、常用方法及其在实际编程中的应用。 ... [详细]
  • 本文探讨了如何在给定整数N的情况下,找到两个不同的整数a和b,使得它们的和最大,并且满足特定的数学条件。 ... [详细]
  • 深入解析JMeter中的JSON提取器及其应用
    本文详细介绍了如何在JMeter中使用JSON提取器来获取和处理API响应中的数据。特别是在需要将一个接口返回的数据作为下一个接口的输入时,JSON提取器是一个非常有用的工具。 ... [详细]
  • 本文提供了一系列Python编程基础练习题,涵盖了列表操作、循环结构、字符串处理和元组特性等内容。通过这些练习题,读者可以巩固对Python语言的理解并提升编程技能。 ... [详细]
  • 本文介绍如何使用 Python 将一个字符串按照指定的行和元素分隔符进行两次拆分,最终将字符串转换为矩阵形式。通过两种不同的方法实现这一功能:一种是使用循环与 split() 方法,另一种是利用列表推导式。 ... [详细]
  • PyCharm下载与安装指南
    本文详细介绍如何从官方渠道下载并安装PyCharm集成开发环境(IDE),涵盖Windows、macOS和Linux系统,同时提供详细的安装步骤及配置建议。 ... [详细]
  • Java 中 Writer flush()方法,示例 ... [详细]
  • 深入理解Tornado模板系统
    本文详细介绍了Tornado框架中模板系统的使用方法。Tornado自带的轻量级、高效且灵活的模板语言位于tornado.template模块,支持嵌入Python代码片段,帮助开发者快速构建动态网页。 ... [详细]
  • XNA 3.0 游戏编程:从 XML 文件加载数据
    本文介绍如何在 XNA 3.0 游戏项目中从 XML 文件加载数据。我们将探讨如何将 XML 数据序列化为二进制文件,并通过内容管道加载到游戏中。此外,还会涉及自定义类型读取器和写入器的实现。 ... [详细]
  • 本文探讨了在不使用服务器控件的情况下,如何通过多种方法获取并修改页面中的HTML元素值。除了常见的AJAX方式,还介绍了其他可行的技术方案。 ... [详细]
  • 扫描线三巨头 hdu1928hdu 1255  hdu 1542 [POJ 1151]
    学习链接:http:blog.csdn.netlwt36articledetails48908031学习扫描线主要学习的是一种扫描的思想,后期可以求解很 ... [详细]
  • 从 .NET 转 Java 的自学之路:IO 流基础篇
    本文详细介绍了 Java 中的 IO 流,包括字节流和字符流的基本概念及其操作方式。探讨了如何处理不同类型的文件数据,并结合编码机制确保字符数据的正确读写。同时,文中还涵盖了装饰设计模式的应用,以及多种常见的 IO 操作实例。 ... [详细]
  • 尽管使用TensorFlow和PyTorch等成熟框架可以显著降低实现递归神经网络(RNN)的门槛,但对于初学者来说,理解其底层原理至关重要。本文将引导您使用NumPy从头构建一个用于自然语言处理(NLP)的RNN模型。 ... [详细]
  • 本文介绍如何使用Python进行文本处理,包括分词和生成词云图。通过整合多个文本文件、去除停用词并生成词云图,展示文本数据的可视化分析方法。 ... [详细]
author-avatar
mobiledu2502909783
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有