输入:Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Worksheets("Expense by Individual").Range("A3").Address Then
Worksheets("Expense by Individual").PivotTables("PivotTable2").RefreshTable
Worksheets("Expense Pivot").PivotTables("PivotTable3").RefreshTable
End If
End Sub
所需输出:blah.(2/2)
输入可以是“blah。(n / n)”,其中n可以是任何单个数字。
如何使用正则表达式来实现“等等”?这是我目前使用的正则表达式不起作用:
blah
答案 0 :(得分:5)
您需要使用正则表达式\.\(\d/\d\)$
>>> import re
>>> str = "blah.(2/2)"
>>> re.sub(r'\.\(\d/\d\)$', '',str)
'blah'
<强> Regex explanation here 强>
答案 1 :(得分:3)
我非常喜欢@ idjaw方法的简洁性。如果你用正则表达式解决它:
In [1]: import re
In [2]: s = "blah.(2/2)"
In [3]: re.sub(r"\.\(\d/\d\)$", "", s)
Out[3]: 'blah'
在这里,\.\(\d/\d\)$
将匹配单个点后跟一个左括号,后跟一个数字,后跟一个斜线,后跟一个数字,后跟一个字符串末尾的右括号。
答案 2 :(得分:2)
这样做是因为你总是希望分开.
s = "stuff.(asdfasdfasdf)"
m = s.split('.')[0]
答案 3 :(得分:1)
只需匹配您不想要的内容并将其删除即可。在这种情况下,字符串末尾的非字母:
>>> re.sub(r'[^a-zA-Z]+$', '', "blah.(1/2)")
'blah'