小编Mar*_*erg的帖子

用于修剪vba中的前导和尾随空格的函数

我已经检查了很多建议,重新修改vba中的前导和尾随空格(excel,顺便说一句).

我已经找到了这个解决方案,但它也修剪了(äö(也有帽子)而且我在正则表达式上太弱了以至于不知道为什么:

Function MultilineTrim (Byval TextData)
    Dim textRegExp
    Set textRegExp = new regexp
    textRegExp.Pattern = "\s{0,}(\S{1}[\s,\S]*\S{1})\s{0,}"
    textRegExp.Global = False
    textRegExp.IgnoreCase = True
    textRegExp.Multiline = True

    If textRegExp.Test (TextData) Then
      MultilineTrim = textRegExp.Replace (TextData, "$1")
    Else
      MultilineTrim = ""
    End If
End Function
Run Code Online (Sandbox Code Playgroud)

(这是来自SO的答案,其中useraccount似乎无效:

/sf/answers/112450341/ )

所以,我很乐意,如果有人可以帮助(a)问题的替代解决方案,或(b)不会剥离(单个)åäö字符的正则表达式/代码版本.

谢谢你的帮助!

细节:问题

  • vba中的修剪函数不考虑所有空白字符(例如,制表符).需要一些自定义修剪
  • 我找到的最佳解决方案是上面的,但它也删除了单个åäö字符.

我的上下文是vba中的xmlparser,它获取要解析的xml块.它有时只是从流中获取一个角色,可能是åäö,然后这个功能完全消失了.

当然,我很乐意澄清或编辑这个问题.

仅供参考:我根据答案分享了我的所作所为,见下文.

regex excel vba trim

5
推荐指数
1
解决办法
8722
查看次数

标签 统计

excel ×1

regex ×1

trim ×1

vba ×1