gpt4 book ai didi

vba - 删除字符串中的所有空格

转载 作者:行者123 更新时间:2023-12-02 01:16:22 31 4
gpt4 key购买 nike

我创建了一个宏,用于删除字符串中的所有空格,特别是电子邮件地址。然而,它只删除了大约 95% 的空白,并留下了一些。

我的代码:

Sub NoSpaces()
Dim w As Range

For Each w In Selection.Cells
w = Replace(w, " ", "")
Next
End Sub

我尝试解决该问题的方法包括:

~用Code函数确认空格确实是空格,是字符32(空格)
~ 将替换宏与替换宏结合使用
~ 有额外的宏利用 Trim 函数来删除前导和尾随空格
~ 制作了一个单独的宏来测试不间断空格(字符 160)
~ 使用查找和替换功能来搜索和替换空的空格。已确认工作。

运行宏时我只选择了一个单元格。由于代码的 Selection.Cells 部分,它会选择并遍历所有单元格。

一些例子:

1 STAR MOVING @ ATT.NET
322 TRUCKING@GMAIL.COM
ALEZZZZ@AOL. COM.

这些仅包含常规空白,但会被跳过。

最佳答案

只需使用正则表达式:

'Add a reference to Microsoft VBScript Regular Expressions 5.5
Public Function RemoveWhiteSpace(target As String) As String
With New RegExp
.Pattern = "\s"
.MultiLine = True
.Global = True
RemoveWhiteSpace = .Replace(target, vbNullString)
End With
End Function

这样调用它:

Sub NoSpaces()
Dim w As Range

For Each w In Selection.Cells
w.Value = RemoveWhiteSpace(w.Value)
Next
End Sub

关于vba - 删除字符串中的所有空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42306358/

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