所以例如我有以下
A柱
文本;#22
文本;#23
文本;#23
我想在该A列上编写一个公式来替换包含数字0-9或的所有行;或#
结果将是: A柱
文本
文本
文本
然而,我无法让它工作,因为我一直得到一个excel错误,有人会帮助我这个PLZ吗?
这是我发现并尝试过但却出错:
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(TableName[[#This Row],[A]],"0",""),"1",""),"2",""),"3",""),"4",""),"5",""),"6",""),"7",""),"8",""),"9",""),";#;#","; "),";#","")
答案 0 :(得分:0)
您可以在vba中使用正则表达式,以便匹配和替换许多复杂模式。首先,我在visual basic editor下创建了一个模块并添加了这个cellRegex
vba函数。其次,您需要从visual basic editor菜单Microsoft VBScript Regular Expressions 5.5
添加对Tools>References
的引用。
Function cellRegex(Myrange As Range, strPattern As String, Optional strReplace As String) As String
Dim regEx As New RegExp
Dim strInput As String
If IsMissing(strReplace) Then
strReplace = ""
End If
If strPattern <> "" Then
strInput = Myrange.Value
With regEx
.Global = True
.MultiLine = True
.IgnoreCase = True
.Pattern = strPattern
End With
If regEx.test(strInput) Then
cellRegex = regEx.Replace(strInput, strReplace)
Else
cellRegex = "!No Match!"
End If
End If
End Function
毕竟,您可以从任何单元格调用您的函数。以下是您想要的公式。第一个参数是包含文本的单元格,第二个参数是要匹配的正则表达式模式,第三个参数是可选的,是替换字符串(在您的情况下是空字符串)
=cellRegex(A1;"[;#0-9]*";"")
答案 1 :(得分:0)
您可以使用正则表达式替换字符串。在JavaScript中,正则表达式非常简单:
['class' => 'yii\grid\CheckboxColumn'],
然后,使用formula = textSub(A1)。
示例: