求助word利用VBA字符串查找并替换功能 5

Jicwo[abc]iuhiwdvmei=1abc=2abc=3现在希望查找[]中的字符串(这里是用abc举例,实际上每次可能不同),并把找到的abc字符串作为关键字,再... Jicwo[abc]iuhiwd
vmei=1
abc=2
abc=3

现在希望查找[]中的字符串(这里是用abc举例,实际上每次可能不同),并把找到的abc字符串作为关键字,再次在全文查找并替换成其他,比如xxx,请问该如何实现
补充:
括号的位置随机,括号内的字符长度随机,必须用正则匹配(高级查找)查找,如"\[*\]",这步奏我会,可是不知道如何把查找到的括号里内容进行二次全文查找替换
展开
 我来答
吃我的饭
2014-10-23 · TA获得超过197个赞
知道小有建树答主
回答量:145
采纳率:0%
帮助的人:72.9万
展开全部
dim i as integer
dim j as integer
dim str1 as string
dim str2 as string
dim str3 as string
dim str4 as string
str1 = jicwo[abc]iuhiwd
str2 = ""
str3 = ""
str4 = ""
for i = 1 to len(str1)
if left(right(str1,i),1) <> "[" then
str2 = str2 + left(right(str1,i)
else
str3 =replace(str1,str2,"")
end if
next i
for j = 1 to len(str3)
if left(right(str3,j),1) <> "]" then
str4 = str4 + left(right(str3,j)
else
str4 =replace(str4,"]","")
end if
next j
到这里str4就是中括号内的内容了,后面你说的我没太明白是什么意思,在全文把Jicwo[abc]iuhiwd替换成Jicwo[xxx]iuhiwd ?
追问
1、括号内的东西长度不同,比如可能是ab或abcd,括号的位置也不同,前后乱码我随便打的,就是想说明括号也是要查找的,必须要用正则匹配(高级查找)来定位括号内内容
2、第一次搜索识别出括号内是abc后,在全文中把abc全部替换成XXX,比如下面abc=2、abc=3就变成xxx=2、xxx=3,假设括号内的内容是ab,那就应该是变成xxc=2、xxc=3,明白了吗?
追答
第一个问题,你应该没看懂我程序,我查找的就是 “[” 和 “]” 吗?无论括号内有多少字符,都一样的。
第二个问题,我明白了,用foreach 循环控制,依次替换,这个语句你学过吧?
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式