3个回答
推荐于2017-09-11 · 知道合伙人软件行家
关注
展开全部
可以直接用“替换”功能来处理
编辑 → 替换 → 打开替换对话框
第一步:(高级 → √使用通配符)
查找内容:([0-9])([0-9]{3})(.)
替 换 为:\1,\2\3
然后执行“全部替换”
第二步:(√使用通配符)
查找内容:([0-9])([0-9]{3})(,)
替 换 为:\1,\2\3
然后重复执行“全部替换”,直到提示替换0处为止。
注:第二步的查找内容就是将第一步查找内容中的.变为,即可,而替换为中的内容不变。
编辑 → 替换 → 打开替换对话框
第一步:(高级 → √使用通配符)
查找内容:([0-9])([0-9]{3})(.)
替 换 为:\1,\2\3
然后执行“全部替换”
第二步:(√使用通配符)
查找内容:([0-9])([0-9]{3})(,)
替 换 为:\1,\2\3
然后重复执行“全部替换”,直到提示替换0处为止。
注:第二步的查找内容就是将第一步查找内容中的.变为,即可,而替换为中的内容不变。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
只能通过vba解决:工具>宏>visual basic编辑器,将一下代码复制进去,然后关闭编辑器,按ALT+F8就可以了。
Sub linn1984()
Dim a%, fcount%, i%, replace0 As String
Dim find0 As String, find1 As String, find2 As String
Dim find4 As String, find3 As String, find5 As String
Application.ScreenUpdating = False
Debug.Print Timer
With ActiveDocument.Content.Find
find0 = "([0-9])([0-9]{3}.)"
find1 = "(.[0-9]{3})([0-9])"
find2 = "([0-9])([0-9]{3}[ ])"
find3 = "([ ])([0-9]{3})([0-9])"
find4 = "([0-9])([0-9]{3})([!0-9])"
find5 = "( )([0-9]{3})([-—年])"
replace0 = "\1 \2"
.MatchWildcards = True
For a = 0 To 5
Select Case a
Case 0
.Execute findtext:=find0, replacewith:=replace0, Replace:=wdReplaceAll
Case 1
.Execute findtext:=find1, replacewith:=replace0, Replace:=wdReplaceAll
Case 2
Do While .Execute(findtext:=find2) = True '如果发现
.Execute findtext:=find2, replacewith:=replace0, Replace:=wdReplaceAll
Loop
Case 3
Do While .Execute(findtext:=find3) = True '如果发现
.Execute findtext:=find3, replacewith:="\1\2 \3", Replace:=wdReplaceAll
Loop
Case 4
Do While .Execute(findtext:=find4) = True '如果发现
.Execute findtext:=find4, replacewith:="\1 \2\3", Replace:=wdReplaceAll
Loop
Case 5
Do While .Execute(findtext:=find5) = True '如果发现
.Execute findtext:=find5, replacewith:="\2\3", Replace:=wdReplaceAll
Loop
End Select
Next
End With
Application.ScreenUpdating = True
Debug.Print Timer
End Sub
Sub linn1984()
Dim a%, fcount%, i%, replace0 As String
Dim find0 As String, find1 As String, find2 As String
Dim find4 As String, find3 As String, find5 As String
Application.ScreenUpdating = False
Debug.Print Timer
With ActiveDocument.Content.Find
find0 = "([0-9])([0-9]{3}.)"
find1 = "(.[0-9]{3})([0-9])"
find2 = "([0-9])([0-9]{3}[ ])"
find3 = "([ ])([0-9]{3})([0-9])"
find4 = "([0-9])([0-9]{3})([!0-9])"
find5 = "( )([0-9]{3})([-—年])"
replace0 = "\1 \2"
.MatchWildcards = True
For a = 0 To 5
Select Case a
Case 0
.Execute findtext:=find0, replacewith:=replace0, Replace:=wdReplaceAll
Case 1
.Execute findtext:=find1, replacewith:=replace0, Replace:=wdReplaceAll
Case 2
Do While .Execute(findtext:=find2) = True '如果发现
.Execute findtext:=find2, replacewith:=replace0, Replace:=wdReplaceAll
Loop
Case 3
Do While .Execute(findtext:=find3) = True '如果发现
.Execute findtext:=find3, replacewith:="\1\2 \3", Replace:=wdReplaceAll
Loop
Case 4
Do While .Execute(findtext:=find4) = True '如果发现
.Execute findtext:=find4, replacewith:="\1 \2\3", Replace:=wdReplaceAll
Loop
Case 5
Do While .Execute(findtext:=find5) = True '如果发现
.Execute findtext:=find5, replacewith:="\2\3", Replace:=wdReplaceAll
Loop
End Select
Next
End With
Application.ScreenUpdating = True
Debug.Print Timer
End Sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |