正则expression式在Excel中寻找组中的string

我目前正在研究一个vba项目,最终用户将长长的文本string复制/粘贴到工作表中,并从这些string中parsing出垃圾中的数据并从中进行组织。

string将总是不同的长度,并且数据之间具有不同数量的空格。 但是,它们总是以同样的方式分组(即价格优先,一些空白区域,单位价格,一些空白区域和ID号码)。 有没有一个正则expression式,将拉(空白字母和数字)的组?

如果您只想删除连续的空格分隔符,则可以使用“文本到列”。

  MyRange.TextToColumns目的地:= MyRange.Cells(1),_
         DataType:= xlDelimited,_
         ConsecutiveDelimiter:= True,_
        空间:= TRUE 

然后,您可以从目标范围的单元格中读取您的值,MyRange.Cells(1).CurrentRegion

在VBA中:

 Split(inputstring) 

您也可以设置不同的分隔符,但默认使用空格。

这笨蛋有一点点信息。

我不知道excel VBA中的语法是如何工作的,但是在python(类似于PERL)中,最简单的正则expression式是:

 \S+ 

这将匹配非空白字符的任何序列,在python中,我将使用它的findall方法来抓取文档中的所有匹配。

如果excel的VBA不是一个简单的方法来做到这一点,我会衷心的build议抛开Excel的excel python(但我承认excel是伟大的,易于parsing)。