热门标签 | 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库,提供了详细的代码示例和优化建议。 ... [详细]
  • 深入理解Tornado模板系统
    本文详细介绍了Tornado框架中模板系统的使用方法。Tornado自带的轻量级、高效且灵活的模板语言位于tornado.template模块,支持嵌入Python代码片段,帮助开发者快速构建动态网页。 ... [详细]
  • Python自动化处理:从Word文档提取内容并生成带水印的PDF
    本文介绍如何利用Python实现从特定网站下载Word文档,去除水印并添加自定义水印,最终将文档转换为PDF格式。该方法适用于批量处理和自动化需求。 ... [详细]
  • 本文详细解析了Python中的os和sys模块,介绍了它们的功能、常用方法及其在实际编程中的应用。 ... [详细]
  • 深入解析JMeter中的JSON提取器及其应用
    本文详细介绍了如何在JMeter中使用JSON提取器来获取和处理API响应中的数据。特别是在需要将一个接口返回的数据作为下一个接口的输入时,JSON提取器是一个非常有用的工具。 ... [详细]
  • PyCharm下载与安装指南
    本文详细介绍如何从官方渠道下载并安装PyCharm集成开发环境(IDE),涵盖Windows、macOS和Linux系统,同时提供详细的安装步骤及配置建议。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 主要用了2个类来实现的,话不多说,直接看运行结果,然后在奉上源代码1.Index.javaimportjava.awt.Color;im ... [详细]
  • 前言--页数多了以后需要指定到某一页(只做了功能,样式没有细调)html ... [详细]
  • 本文详细解析了如何使用Python语言在STM32硬件平台上实现高效的编程和快速的应用开发。通过具体的代码示例,展示了Python简洁而强大的特性。 ... [详细]
  • 本文探讨了如何在给定整数N的情况下,找到两个不同的整数a和b,使得它们的和最大,并且满足特定的数学条件。 ... [详细]
  • 从 .NET 转 Java 的自学之路:IO 流基础篇
    本文详细介绍了 Java 中的 IO 流,包括字节流和字符流的基本概念及其操作方式。探讨了如何处理不同类型的文件数据,并结合编码机制确保字符数据的正确读写。同时,文中还涵盖了装饰设计模式的应用,以及多种常见的 IO 操作实例。 ... [详细]
  • 本文介绍了在Windows环境下使用pydoc工具的方法,并详细解释了如何通过命令行和浏览器查看Python内置函数的文档。此外,还提供了关于raw_input和open函数的具体用法和功能说明。 ... [详细]
  • 最近团队在部署DLP,作为一个技术人员对于黑盒看不到的地方还是充满了好奇心。多次咨询乙方人员DLP的算法原理是什么,他们都以商业秘密为由避而不谈,不得已只能自己查资料学习,于是有了下面的浅见。身为甲方,虽然不需要开发DLP产品,但是也有必要弄明白DLP基本的原理。俗话说工欲善其事必先利其器,只有在懂这个工具的原理之后才能更加灵活地使用这个工具,即使出现意外情况也能快速排错,越接近底层,越接近真相。根据DLP的实际用途,本文将DLP检测分为2部分,泄露关键字检测和近似重复文档检测。 ... [详细]
  • 毕业设计:基于机器学习与深度学习的垃圾邮件(短信)分类算法实现
    本文详细介绍了如何使用机器学习和深度学习技术对垃圾邮件和短信进行分类。内容涵盖从数据集介绍、预处理、特征提取到模型训练与评估的完整流程,并提供了具体的代码示例和实验结果。 ... [详细]
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社区 版权所有