gpt4 book ai didi

regex - Excel VBA使用循环查找和替换字符串中的文本

转载 作者:行者123 更新时间:2023-12-04 22:23:21 28 4
gpt4 key购买 nike

我正在尝试替换模式 之间的字符串中的所有文本"&CC[号码]:[号码]"并将其替换为 "==" .

这是字符串。 "T &CC3:5 Q8 Party/ Self-Identify&CC6:8 Male&CC9:11 Female&CC12:15 Q1 Vote"
这就是我需要它看起来像 T &CC3:5==&CC6:8==&CC9:11==&CC12:15==
我知道我需要遍历这个字符串,但我不确定设置它的最佳方法。

Dim stringOne As String
Dim regexOne As Object
Set regexOne = New RegExp

regexOne.Pattern = "([Q])+[0-9]"
regexOne.Global = False
stringOne = "T &CC3:5 Q8 Party/ Self-Identify&CC6:8 Male&CC9:11 Female&CC12:15 Q1 Vote"

Debug.Print regexOne.Replace(stringOne, "==")
End Sub

我也探索过使用这个正则表达式 regexOne.Pattern = "([&])+[C]+[C]+[0-9]+[:]+[0-9]"
我计划最终将变量 stringOne 设置为 Range("A1").Text

最佳答案

您可以稍微简化模式并使用捕获组和正向前瞻

(&CC[0-9]+:[0-9]+).*?(?=&C|$)

解释
  • (捕获组 1
  • &CC[0-9]+:[0-9]+匹配 &CC 1+ 位,: 和 1+ 位
  • )关闭群
  • .*?匹配除换行符以外的任何字符 0+ 次非贪婪
  • (?=&C|$)正向前瞻,断言右边是&C或字符串的结尾

  • Regex demo

    在替换中,使用第一个捕获组,后跟 ==

    关于regex - Excel VBA使用循环查找和替换字符串中的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60513457/

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