查找和删除带括号的函数调用

时间:2019-05-17 09:14:27

标签: python regex replace find

我正在研究一个python脚本,它将允许我从Java类的函数调用中删除一些属性。问题是我找不到正确的正则表达式来同时包含属性名称和方括号。

例如,我要删除的字符串是'withContentDescription(“ random text”)'

在我的代码中包含()括号和这些内容的随机内容的正确方法是什么?     汇入

<script type="text/javascript" src="//code.jquery.com/jquery-1.9.1.js"></script>
<script type="text/javascript" src="//code.jquery.com/ui/1.9.2/jquery-ui.js"></script>
<link rel="stylesheet" type="text/css" href="//code.jquery.com/ui/1.9.2/themes/base/jquery-ui.css">
<div id="price-slider"></div>
<input id="min-price" />
<input id="max-price" />

我想要获得

filein = '/path/file.java'
fileout = '/path/newfile.java'

f = open(filein,'r')
filedata = f.read()
f.close()

print("Removing Content Descriptor")
newdata = filedata.strip("withContentDescription\)")

f = open(fileout,'w')
f.write(newdata)
print("--- Done")
f.close()

1 个答案:

答案 0 :(得分:0)

使用re.sub

例如:

import re

s = 'allOf(withId(someinfo), withContentDescription("Text"))'
print(re.sub(r",\s*(withContentDescription\(.*?\))", "", s))

输出:

allOf(withId(someinfo))