首页 > 解决方案 > 在excel中将“,00 text”更改为“,00 | text”

问题描述

我想将excel中字符串中的一些文本替换为不同的字符串。

数据看起来像:“文本更多文本 0,00 文本更多文本 0,00 文本”

文本可以是任何内容,但不包含小数。0,00 是一个数字示例,可以是 0,00 到 9999,99 之间的任何数字。使用公式,我想将上面的示例更改为:

数据看起来像:“text some more text 0,00 | text some more text 0,00 | text”

我怎样才能在excel中安排这个?

寻找诸如正则表达式替换之类的东西

标签: excelreplace

解决方案


您可以使用用 VBA 编写的用户定义函数轻松完成此操作:

Option Explicit
Function addPipes(S As String) As String
    Dim V As Variant
    Dim I As Long

V = Split(S)
For I = 0 To UBound(V)
    If V(I) Like "*#,#*" Then V(I) = V(I) & " |"
Next I

addPipes = Join(V)

End Function

虽然,如果您的最终目标是拆分管道上的字符串,并且无论如何您都在使用 VBA,您可以使用简单的宏进行拆分。

此外,如果您有一些包含d,d(where dis a digit) 模式的单词,我们必须修改Like比较。


推荐阅读