首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >删除字符串中括号前出现的数字字符。

删除字符串中括号前出现的数字字符。
EN

Stack Overflow用户
提问于 2022-05-04 15:17:59
回答 2查看 76关注 0票数 1

我在excel电子表格中有一个列,其中包含每个单元格中已编号列表的字符串变量。例如,一个细胞可能包含:“橙色,蓝色,蓝色,白色,紫色”

我需要删除括号前的数字,并且不确定如何使用VBA来解决这个问题。

我需要的结果是:“橙色,蓝色,白色,紫色

提亚

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-05-04 15:30:08

首先启用regex库

代码语言:javascript
复制
Tools Menu > References > Microsoft VBScript Regular Expressions
代码语言:javascript
复制
Sub demo()
  Dim input_string as String
  input_string = "1)orange 2)blue 3)white 4)purple"

  Dim regex As Object
  Set regex = New RegExp
 
  ' pattern will match one or more digits followed by a closing bracket (see https://regexr.com/)
  regex.Pattern = "\d+\)"
  ' Global is set to true to replace all instances of the pattern that are found
  regex.Global = True

  result = regex.Replace(input_string , ")")

  Debug.Print result
End Sub
票数 3
EN

Stack Overflow用户

发布于 2022-05-04 15:46:06

如果列表项用相同的字符(空格?)分隔,我们可以从Split中获益。

代码语言:javascript
复制
Function RemoveNumbers(ByVal Text As String) As String
Dim Items  As Variant, i%
Const sep = ")"
    Items = Split(Text)
    For i = LBound(Items) To UBound(Items)
        Items(i) = sep & Split(Items(i), sep, 2)(1)
    Next i
    RemoveNumbers = Join(Items)
End Function
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72115461

复制
相关文章

相似问题

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