首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在excel中使用Regex查找/替换字符串的结尾

如何在excel中使用Regex查找/替换字符串的结尾
EN

Stack Overflow用户
提问于 2017-10-05 02:42:09
回答 1查看 6.4K关注 0票数 1

我希望在Excel (或VBA)中做一个快速查找替换,查找特定格式的字符串,并在末尾追加一些文本。

示例: Find: A123456

替换为: A123456 FA

我知道我的第一个字符是"A“,后面跟着6个数字。我只需要在上面的示例中添加一个空格和几个字符,如“FA”。

某些单元格包含用空格或Alt+Enters分隔的多个字符串。例如。"A123456 Alt+EnterA987654“

例如: Find: A123456Alt+EnterA987654Alt+Enter101878

替换: A123456 FAAlt+EnterA987654 FAAlt+Enter101878 FA

我尝试了,?,<>,~*,~?的随机配置,但我看不出什么可以工作。我没有为这个问题找到我需要的东西,但似乎最有用。https://support.office.com/en-us/article/Find-and-replace-text-and-other-data-in-a-Word-document-c6728c16-469e-43cd-afe4-7708c6c779b7?ui=en-US&rs=en-US&ad=US#ex1

EN

回答 1

Stack Overflow用户

发布于 2018-06-04 06:59:28

意识到这是一个老问题,但我已经用正则表达式进行了一些练习,并将这个问题作为练习。我想它会完成你想要的。将我引用的字符串替换为包含要测试的字符串的单元格值/范围。而不是打印项目+“FA”的交换单元格值,即单元格(1,1)=项目+“FA”

Sub NewNew()

    Dim reg As RegExp
    Set reg = New RegExp

        reg.Pattern = "\b([aA\d]?\d{6})"
        reg.Global = True

    Dim arr As Variant

    Dim str As String
        str = "123456 A1456 B156221 A742121 C654123 A123456 D123456 E876543"

    Set arr = reg.Execute(str)

    For Each Item In arr
        Debug.Print Item + " FA"
    Next Item

End Sub

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46572004

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档