Vb6 仅在VB中搜索和替换整个单词

Vb6 仅在VB中搜索和替换整个单词,vb6,Vb6,文字处理器程序具有搜索和替换功能。但是,部分单词(单词中的字符组合)也被替换。为了解决这个问题,我计划删除额外的空格,并使用split函数通过使用“”作为分隔符将字符串更改为单词数组 但是,一旦我搜索数组,替换适当的单词,并将数组放回一个由空格分隔的字符串中,用户的原始格式将丢失。例如,如果原始字符串是“This is a句子”。并且用户希望将“a”替换为“the”,则输出将是“This is the句子”,没有额外的空格 因此,我的问题是,是否有任何方法可以只搜索和替换整个单词,同时在Visu

文字处理器程序具有搜索和替换功能。但是,部分单词(单词中的字符组合)也被替换。为了解决这个问题,我计划删除额外的空格,并使用split函数通过使用“”作为分隔符将字符串更改为单词数组

但是,一旦我搜索数组,替换适当的单词,并将数组放回一个由空格分隔的字符串中,用户的原始格式将丢失。例如,如果原始字符串是“This is a句子”。并且用户希望将“a”替换为“the”,则输出将是“This is the句子”,没有额外的空格


因此,我的问题是,是否有任何方法可以只搜索和替换整个单词,同时在Visual Basic中保留用户的格式(额外空格)。

使用正则表达式怎么样

在正则表达式中,代码
\b
是一个单词边界,因此,例如,正则表达式
\ba\b
仅当a是一个整词时才与a匹配

例如,您的代码是:

Dim strPattern As String: strPattern = "\ba\b"
Dim regex As New RegExp

regex.Global = True
regex.Pattern = strPattern
result = regex.Replace("This is a sentence.", "the")

为什么你的格式丢失了?如果按空格分割文本,则在从数组重新组合元素时,只需在每个元素后附加空格即可。但你也必须考虑那些不是以空格结尾而是以标点符号结尾的单词


在“这是一个简单的句子,呃?”中,“呃”将被存储为“呃?”因为u被空间分割。因此,您必须编写一个复杂的标点符号友好的公式,或者只需使用正则表达式。准备好-正则表达式是。。。棘手。

如果在不删除多余空格的情况下使用“拆分”功能,则数组中将包含空项,这样您就不会丢失多余空格,并且可以使用原始格式重新构建文档。

似乎包含您要查找的内容。