如何消除txt文件中的所有括号?
How do I eliminate all the parenthesis in a txt files?
我有一个 txt 文件,单列,取自 excel,类型如下:
阿曼达(大声说话)
杰夫
史蒂文(开玩笑地)
阿曼达
布莱恩·格林博士
作为我想要的输出:
阿曼达
杰夫
史蒂文
阿曼达
布莱恩·格林博士
我尝试在所有列上使用 for 循环,然后:
if (str[i] == '('):
return str.split('(')
但这显然不起作用。
你有什么可能的解决办法吗?然后我需要一个输出文件作为我的原始 txt,因此每行的每个名称都在一个列中。
谢谢大家!
(我使用的是 PyCharm 3.2)
在这种情况下我会使用正则表达式。 \w
将替换字母,*
将 select 替换为 0 个或更多。然后我们检查它是否在括号之间。
import re
fi = "AMANDA (LOUDLY) JEFF STEVEN (TEASINGLY) AMANDA"
with open("mytext.txt","r") as fi, open("out.txt", "w") as fo:
for line in fi:
fo.write(re.sub("\(.*?\)", "", line))
您可以使用匹配括号中的所有内容或完整单词的正则表达式将字符串拆分为列表,从列表中删除包含括号的所有元素,然后再次将列表加入字符串。优点是结果字符串中括号中的单词被删除后不会有双空格。
import re
text = "AMANDA (LOUDLY SPEAKING) JEFF STEVEN (TEASINGLY) AMANDA DOC BRIAN GREEN"
words = re.findall("\(.*?\)|[^\s]+",text)
print " ".join([x for x in words if "(" not in x])
我有一个 txt 文件,单列,取自 excel,类型如下:
阿曼达(大声说话) 杰夫 史蒂文(开玩笑地) 阿曼达 布莱恩·格林博士
作为我想要的输出:
阿曼达 杰夫 史蒂文 阿曼达 布莱恩·格林博士
我尝试在所有列上使用 for 循环,然后:
if (str[i] == '('):
return str.split('(')
但这显然不起作用。 你有什么可能的解决办法吗?然后我需要一个输出文件作为我的原始 txt,因此每行的每个名称都在一个列中。
谢谢大家! (我使用的是 PyCharm 3.2)
在这种情况下我会使用正则表达式。 \w
将替换字母,*
将 select 替换为 0 个或更多。然后我们检查它是否在括号之间。
import re
fi = "AMANDA (LOUDLY) JEFF STEVEN (TEASINGLY) AMANDA"
with open("mytext.txt","r") as fi, open("out.txt", "w") as fo:
for line in fi:
fo.write(re.sub("\(.*?\)", "", line))
您可以使用匹配括号中的所有内容或完整单词的正则表达式将字符串拆分为列表,从列表中删除包含括号的所有元素,然后再次将列表加入字符串。优点是结果字符串中括号中的单词被删除后不会有双空格。
import re
text = "AMANDA (LOUDLY SPEAKING) JEFF STEVEN (TEASINGLY) AMANDA DOC BRIAN GREEN"
words = re.findall("\(.*?\)|[^\s]+",text)
print " ".join([x for x in words if "(" not in x])