如果数字(字符)> 8,我需要从字符串末尾删除数字
我使用了以下函数,但它从字符串中删除了所有数字。
那么,如何修改此函数以添加条件 if count of numbers(characters) > 8
预先感谢任何有用的评论和答案。
Option Explicit
Function StripNumber(stdText As String)
Dim str As String, i As Integer
stdText = Trim(stdText)
For i = 1 To Len(stdText)
If Not IsNumeric(Mid(stdText, i, 1)) Then
str = str & Mid(stdText, i, 1)
End If
Next i
StripNumber = str ' * 1
End Function
Function Remove_Number(Text As String) As String
With CreateObject("VBScript.RegExp")
.Global = True
.Pattern = "[0-9]"
Remove_Number = .Replace(Text, "")
End With
End Function
最佳答案
你可以使用
\d{8,}(?=\.\w+$)
\d{8,}(?=\.[^.]+$)
参见 regex demo .如果必须至少有 9 位数字,请将 8 替换为 9。
详细信息:
\d{8,}
- 八位或更多位(?=\.\w+$)
- 紧随其后的是.
和一个或多个单词字符,然后是字符串结尾(?=\.[^.]+$)
- 八位或更多数字必须紧跟.
字符,然后是一个或多个其他字符比.
字符直到字符串结尾。
关于excel - 如果数字(字符)> 8,则从字符串末尾删除数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72182176/