热门标签 | 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)时间。


推荐阅读
  • Java中字符串截取方法详解
    本文详细介绍了Java中常用的字符串截取方法及其应用场景,帮助开发者更好地理解和使用这些方法。 ... [详细]
  • 本文节选自《NLTK基础教程——用NLTK和Python库构建机器学习应用》一书的第1章第1.2节,作者Nitin Hardeniya。本文将带领读者快速了解Python的基础知识,为后续的机器学习应用打下坚实的基础。 ... [详细]
  • 题目描述:牛客网新员工Fish每天早上都会拿着一本英文杂志,在本子上写下一些句子。他的同事Cat对这些句子非常感兴趣,但发现这些句子的单词顺序被反转了。例如,“student. a am I”实际上是“I am a student.”。Cat请求你帮助他恢复这些句子的正常顺序。 ... [详细]
  • 理解浏览器历史记录(2)hashchange、pushState
    阅读目录1.hashchange2.pushState本文也是一篇基础文章。继上文之后,本打算去研究pushState,偶然在一些信息中发现了锚点变 ... [详细]
  • web页面报表js下载,web报表软件 ... [详细]
  • 申请地址:https://developer.apple.com/appstore/contact/?topic=expedite 常见申请理由:1. 我们即将发布新产品,这是一个媒体活动,我们无法承担任何风险,因此在多个方面努力提升应用质量。 ... [详细]
  • 用C语言实现的科学计算器,支持2种常量,10种基本函数,Ans寄存器。相对来说拓展性应该是不错的,思路是首先化简复杂名称的函 ... [详细]
  • Java设计模式详解:解释器模式的应用与实现
    本文详细介绍了Java设计模式中的解释器模式,包括其定义、应用场景、优缺点以及具体的实现示例。通过音乐解释器的例子,帮助读者更好地理解和应用这一模式。 ... [详细]
  • 自然语言处理(NLP)——LDA模型:对电商购物评论进行情感分析
    目录一、2020数学建模美赛C题简介需求评价内容提供数据二、解题思路三、LDA简介四、代码实现1.数据预处理1.1剔除无用信息1.1.1剔除掉不需要的列1.1.2找出无效评论并剔除 ... [详细]
  • C#实现文件的压缩与解压
    2019独角兽企业重金招聘Python工程师标准一、准备工作1、下载ICSharpCode.SharpZipLib.dll文件2、项目中引用这个dll二、文件压缩与解压共用类 ... [详细]
  • 问题场景用Java进行web开发过程当中,当遇到很多很多个字段的实体时,最苦恼的莫过于编辑字段的查看和修改界面,发现2个页面存在很多重复信息,能不能写一遍?有没有轮子用都不如自己造。解决方式笔者根据自 ... [详细]
  • 本文介绍了 PHP 的基本概念、服务器与客户端的工作原理,以及 PHP 如何与数据库交互。同时,还涵盖了常见的数据库操作和安全性问题。 ... [详细]
  • 开发笔记:1035 Password (20) ... [详细]
  • 本文介绍了 Oracle SQL 中的集合运算、子查询、数据处理、表的创建与管理等内容。包括查询部门号为10和20的员工信息、使用集合运算、子查询的注意事项、数据插入与删除、表的创建与修改等。 ... [详细]
  • 本文介绍了Go语言中正则表达式的基本使用方法,并提供了一些实用的示例代码。 ... [详细]
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社区 版权所有