gpt4 book ai didi

excel - 删除excel中的特殊字符vba

转载 作者:行者123 更新时间:2023-12-03 03:37:32 25 4
gpt4 key购买 nike

我正在使用此函数删除所有假定的特殊字符,但仍然有一些特殊字符,如“Ø”或“é”,并且所有类似的字符仍然存在,如何在下面给定的函数中处理这个问题。

我的想法是创建一个由像 MyStr 这样的特殊字符组成的字符串并删除它们。

请提出建议。

 Function ReplaceSplChars(TempStr As String) As String

Dim counter As Long, Position As Long
Dim MyStr As String, SplStr As String


MyStr = " 1234567890abcdefghijklmnopqrstuvwxyz.@"
Position = 1

For counter = 1 To Len(TempStr)
SplStr = Mid(LCase(TempStr), Position, 1)

If Not InStr(MyStr, SplStr) > 0 Then

If SplStr = "-" Or SplStr = "_" Or SplStr = "'" Or SplStr = "/" Or SplStr = "," Then
TempStr = Replace(TempStr, SplStr, " ", , 1)
SplCharCount = SplCharCount + 1
Position = Position + 1
Else
TempStr = Replace(TempStr, SplStr, "", , 1)
SplCharCount = SplCharCount + 1
End If
Else
Position = Position + 1
End If

Next counter
ReplaceSplChars = TempStr
End Function

最佳答案

一个消除了艰苦的工作。

测试代码

Sub EddieBetts()
MsgBox ReplaceSplChars(" 12345Ø67890abcdefghijklmnopqrstéuvwxyz.@")
End Sub

下面的模式排除了任何的内容

  • 字母数字 (\w)
  • 空格(\s)
  • @

代码

 Function ReplaceSplChars(strIn As String) As String
Dim objRegex As Object
Set objRegex = CreateObject("vbscript.regexp")
With objRegex
.Pattern = "[^\w\s@]+"
.Global = True
ReplaceSplChars = Application.Trim(.Replace(strIn, vbNullString))
End With
End Function

关于excel - 删除excel中的特殊字符vba,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43178891/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com