replaceall替换多个字符(replaceall替换特殊字符)
BOBJ中用什么符号替代多个字符
ring = "1*11/33?2323";
System.out.println(string.replaceAll("\\*", "").replaceAll("/", "").replaceAll("\\?", ""));
JAVA怎么替换字符串中的符号,如;:00594510=2609013500152=5801?
java中的字符串替换应该用字符串自带的方法replace或者replceAll,但这里要用replaceAll,因为要替换多个符号,只有replaceAll可以接受正则表达式
replaceAll接受两个参数,第一个是正则表示,第二个是要替换后的字符
示例代码如下:
public?static?void?main(String?args[])?{
????String?s?=?";:00594510=2609013500152=5801?";
????System.out.println(s.replaceAll(";|:|=|\\?",""));
}
运行结果如下
word如何批量替换字符
要想自动化地一次过,采用VBA编程方式可以实现,编程思路是:
参考如下,你可以新建一个宏,将下列代码粘贴入该宏中,运行之后就可以圆满地实现你的目的了。设置了三个变量数组和一个循环变量,修改它们,可以实现其他目的。
代码如下:
=============================
Dim OriginalArr(1 To 4) As String '待查找的内容的数组,根据需要查找内容的数量,将4改变成相应的量即可
Dim ReplaceArr(1 To 4) As String '替换成的内容的数组,根据需要替换内容的数量,将4改变成相应的量即可
Dim TempString(1 To 4) As String '中间变量数组,根据需要替换内容的数量,将4改变成相应的量即可
Dim i As Integer
OriginalArr(1) = "张三" '内容可以根据需要自设置,其余同
OriginalArr(2) = "李四"
OriginalArr(3) = "王五"
OriginalArr(4) = "何六"
ReplaceArr(1) = "李四"
ReplaceArr(2) = "张三"
ReplaceArr(3) = "何六"
ReplaceArr(4) = "王五"
TempString(1) = "temp1"
TempString(2) = "temp2"
TempString(3) = "temp3"
TempString(4) = "temp4"
For i = 1 To 4 '根据数组OriginalArr的个数设置这里的循环变量的最大值
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = OriginalArr(i)
.Replacement.Text = TempString(i)
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchByte = True
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
Next i
For i = 1 To 4
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = TempString(i)
.Replacement.Text = ReplaceArr(i)
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchByte = True
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
Next i
============
请问如何在WORD中批量替换多个字符呢?
用查找替换就可以了
录了个宏,做了一些修改,看是不是你需要的,数组里内容可以添加
Sub 查找替换()
Dim arr()
arr = Array("台灯", "电视", "冰箱","洗衣机","电脑","微波炉")
For i = 0 To 5
With Selection.Find
.Text = arr(i)
.Replacement.Text = "家用电器"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchByte = True
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
Next i
End Sub
word批处理字符串替换
请尝试如下步骤:
1、键入ALT+F11打开VBA编辑器,选择菜单“插入-模块”;
2、粘贴如下代码:
Option Explicit
Sub BatchReplace()
Dim oDict, strKey
Set oDict = CreateObject("Scripting.Dictionary")
oDict.Add "桃", "peach"
oDict.Add "苹果", "apple"
oDict.Add "香蕉", "banana"
oDict.Add "橙", "orange"
oDict.Add "梨", "pear"
' ......
' 在这里可以根据需要增加更多的替换规则
' ......
For Each strKey In oDict.Keys
Selection.Find.Execute FindText:=strKey, ReplaceWith:=oDict(strKey), Replace:=wdReplaceAll
Selection.StartOf wdStory
Next
MsgBox "完成!"
End Sub
3、根据需要在上述代码中注释地地方增加更多的替换规则;
4、键入F5运行看到“完成!”结束;
5、键入ALT+Q退出VBA编辑器返回Word文档,检查替换结果是否满足要求。
求“一次性分别对应替换多组字符串”的正则表达式
你这个替换和正则没关系,只是需要替换的内容比较多而已。
方法一:
使用EmEditor手动录制宏,在一个文本内把所有需要的内容都替换一遍,保存宏,到其他文本中就可以使用了。
方法二:
自己写简单的宏。
新建一个文本,输入以下内容:
document.selection.Replace("〔1〕","①",eeReplaceAll);
document.selection.Replace("〔2〕","②",eeReplaceAll);
……
依次类推,全部写完后,保存为xxx.jsee
然后宏》选择,选中你刚才写的宏,然后宏》运行宏,他就自己替换了。
如果需要替换的〔1〕格式不一,使用以下命令,
document.selection.Replace("[《(〔\\(]1[\\))》〕]","①",eeReplaceAll | eeFindReplaceRegExp);
对应的是(1)(1)《1》〔1〕全部替换为①,具体形式需要自己加到中括号内。
半角的括号需要转义,在脚本中前面需要加两个\\。
同时替换所有已打开文件。
把下面的代码复制到新文本中,保存为xx.jsee,剩下的操作方法同上。
var num = editor.Documents.Count;
for(i=0;i=num,i++)
{
editor.ExecuteCommandByID(5376 + i);
document.selection.Replace("〔1〕","①",eeReplaceAll);
document.selection.Replace("〔2〕","②",eeReplaceAll);
……
}
大括号中的省略号部分自己改成需要的。
替换时,只打开需要替换的文本,其他不要开。