精华内容
下载资源
问答
  • 答:1、快捷键 Ctrl+H,打开Word的查找替换窗口,单击【更多】按钮,勾选“使用通配符”。 2、在查找内容处,输入“正确答案:*^13”,替换处可以什么都不填或者填入你需要的内容。 3、单击【全部替换】。 说明:...

    问:怎样把"正确答案:"开头的一整行删除或者替换为指定内容

    答:1、快捷键 Ctrl+H,打开Word的查找替换窗口,单击【更多】按钮,勾选“使用通配符”。

    2、在查找内容处,输入:正确答案:*^13,替换处可以什么都不填或者填入你需要的内容。

    3、单击【全部替换】。 

    说明:^13合起来就是回车,因为13这个数在ASCII码是回车符,所以在WORD通过^这个转义符号把变成了回车符。

    展开全文
  • } } // 替换word中需要替换的特殊字符 public static boolean replaceAndGenerateWord(String srcPath, String destPath, Map map) { String[] sp = srcPath.split("\\."); String[] dp = destPath.split("\\."); ...

    package com.sdty.mobile;

    import java.io.File;

    import java.io.FileInputStream;

    import java.io.FileNotFoundException;

    import java.io.FileOutputStream;

    import java.io.IOException;

    import java.io.InputStream;

    import java.util.ArrayList;

    import java.util.HashMap;

    import java.util.Iterator;

    import java.util.List;

    import java.util.Map;

    import java.util.Map.Entry;

    import java.util.regex.Matcher;

    import java.util.regex.Pattern;

    import org.apache.poi.POIXMLDocument;

    import org.apache.poi.hwpf.HWPFDocument;

    import org.apache.poi.hwpf.usermodel.Range;

    import org.apache.poi.xwpf.usermodel.XWPFDocument;

    import org.apache.poi.xwpf.usermodel.XWPFParagraph;

    import org.apache.poi.xwpf.usermodel.XWPFRun;

    import org.apache.poi.xwpf.usermodel.XWPFTable;

    import org.apache.poi.xwpf.usermodel.XWPFTableCell;

    import org.apache.poi.xwpf.usermodel.XWPFTableRow;

    public class WordPOI {

    // 返回Docx中需要替换的特殊字符,没有重复项

    // 推荐传入正则表达式参数"\\$\\{[^{}]+\\}"

    public ArrayList getReplaceElementsInWord(String filePath,

    String regex) {

    String[] p = filePath.split("\\.");

    if (p.length > 0) {// 判断文件有无扩展名

    // 比较文件扩展名

    if (p[p.length - 1].equalsIgnoreCase("doc")) {

    ArrayList al = new ArrayList();

    File file = new File(filePath);

    HWPFDocument document = null;

    try {

    InputStream is = new FileInputStream(file);

    document = new HWPFDocument(is);

    } catch (FileNotFoundException e) {

    e.printStackTrace();

    } catch (IOException e) {

    e.printStackTrace();

    }

    Range range = document.getRange();

    String rangeText = range.text();

    CharSequence cs = rangeText.subSequence(0, rangeText.length());

    Pattern pattern = Pattern.compile(regex);

    Matcher matcher = pattern.matcher(cs);

    int startPosition = 0;

    while (matcher.find(startPosition)) {

    if (!al.contains(matcher.group())) {

    al.add(matcher.group());

    }

    startPosition = matcher.end();

    }

    return al;

    } else if (p[p.length - 1].equalsIgnoreCase("docx")) {

    ArrayList al = new ArrayList();

    XWPFDocument document = null;

    try {

    document = new XWPFDocument(

    POIXMLDocument.openPackage(filePath));

    } catch (IOException e) {

    e.printStackTrace();

    }

    // 遍历段落

    Iterator itPara = document

    .getParagraphsIterator();

    while (itPara.hasNext()) {

    XWPFParagraph paragraph = (XWPFParagraph) itPara.next();

    String paragraphString = paragraph.getText();

    CharSequence cs = paragraphString.subSequence(0,

    paragraphString.length());

    Pattern pattern = Pattern.compile(regex);

    Matcher matcher = pattern.matcher(cs);

    int startPosition = 0;

    while (matcher.find(startPosition)) {

    if (!al.contains(matcher.group())) {

    al.add(matcher.group());

    }

    startPosition = matcher.end();

    }

    }

    // 遍历表

    Iterator itTable = document.getTablesIterator();

    while (itTable.hasNext()) {

    XWPFTable table = (XWPFTable) itTable.next();

    int rcount = table.getNumberOfRows();

    for (int i = 0; i < rcount; i++) {

    XWPFTableRow row = table.getRow(i);

    List cells = row.getTableCells();

    for (XWPFTableCell cell : cells) {

    String cellText = "";

    cellText = cell.getText();

    CharSequence cs = cellText.subSequence(0,

    cellText.length());

    Pattern pattern = Pattern.compile(regex);

    Matcher matcher = pattern.matcher(cs);

    int startPosition = 0;

    while (matcher.find(startPosition)) {

    if (!al.contains(matcher.group())) {

    al.add(matcher.group());

    }

    startPosition = matcher.end();

    }

    }

    }

    }

    return al;

    } else {

    return null;

    }

    } else {

    return null;

    }

    }

    // 替换word中需要替换的特殊字符

    public static boolean replaceAndGenerateWord(String srcPath,

    String destPath, Map map) {

    String[] sp = srcPath.split("\\.");

    String[] dp = destPath.split("\\.");

    if ((sp.length > 0) && (dp.length > 0)) {// 判断文件有无扩展名

    // 比较文件扩展名

    if (sp[sp.length - 1].equalsIgnoreCase("docx")) {

    try {

    XWPFDocument document = new XWPFDocument(

    POIXMLDocument.openPackage(srcPath));

    // 替换段落中的指定文字

    Iterator itPara = document

    .getParagraphsIterator();

    while (itPara.hasNext()) {

    XWPFParagraph paragraph = (XWPFParagraph) itPara.next();

    List runs = paragraph.getRuns();

    for (int i = 0; i < runs.size(); i++) {

    String oneparaString = runs.get(i).getText(

    runs.get(i).getTextPosition());

    for (Map.Entry entry : map

    .entrySet()) {

    oneparaString = oneparaString.replace(

    entry.getKey(), entry.getValue());

    }

    runs.get(i).setText(oneparaString, 0);

    }

    }

    // 替换表格中的指定文字

    Iterator itTable = document.getTablesIterator();

    while (itTable.hasNext()) {

    XWPFTable table = (XWPFTable) itTable.next();

    int rcount = table.getNumberOfRows();

    for (int i = 0; i < rcount; i++) {

    XWPFTableRow row = table.getRow(i);

    List cells = row.getTableCells();

    for (XWPFTableCell cell : cells) {

    String cellTextString = cell.getText();

    for (Entry e : map.entrySet()) {

    if (cellTextString.contains(e.getKey()))

    cellTextString = cellTextString

    .replace(e.getKey(),

    e.getValue());

    }

    cell.removeParagraph(0);

    cell.setText(cellTextString);

    }

    }

    }

    FileOutputStream outStream = null;

    outStream = new FileOutputStream(destPath);

    document.write(outStream);

    outStream.close();

    return true;

    } catch (Exception e) {

    e.printStackTrace();

    return false;

    }

    } else

    // doc只能生成doc,如果生成docx会出错

    if ((sp[sp.length - 1].equalsIgnoreCase("doc"))

    && (dp[dp.length - 1].equalsIgnoreCase("doc"))) {

    HWPFDocument document = null;

    try {

    document = new HWPFDocument(new FileInputStream(srcPath));

    Range range = document.getRange();

    for (Map.Entry entry : map.entrySet()) {

    range.replaceText(entry.getKey(), entry.getValue());

    }

    FileOutputStream outStream = null;

    outStream = new FileOutputStream(destPath);

    document.write(outStream);

    outStream.close();

    return true;

    } catch (FileNotFoundException e) {

    e.printStackTrace();

    return false;

    } catch (IOException e) {

    e.printStackTrace();

    return false;

    }

    } else {

    return false;

    }

    } else {

    return false;

    }

    }

    public static void main(String[] args) {

    // TODO Auto-generated method stub

    String filepathString = "D:/1.doc";

    String destpathString = "D:/tt.doc";

    Map map = new HashMap();

    map.put("${NAME}", "王五王五啊王力宏的辣味回答侯卫东拉网");

    map.put("${NsAME}", "王五王五啊王力味回答侯卫东拉网");

    System.out.println(replaceAndGenerateWord(filepathString,

    destpathString, map));

    }

    }

    展开全文
  • } }/*何问起 hovertree.com*/ //替换word中需要替换的特殊字符 public static booleanreplaceAndGenerateWord(String srcPath, String destPath, Mapmap) { String[] sp= srcPath.split("\\."); String[] dp= ...

    packagecom.xfzx.test.POI.main;importjava.io.File;importjava.io.FileInputStream;importjava.io.FileNotFoundException;importjava.io.FileOutputStream;importjava.io.IOException;importjava.io.InputStream;importjava.util.ArrayList;importjava.util.HashMap;importjava.util.Iterator;importjava.util.List;importjava.util.Map;importjava.util.Map.Entry;importjava.util.regex.Matcher;importjava.util.regex.Pattern;importorg.apache.poi.POIXMLDocument;importorg.apache.poi.hwpf.HWPFDocument;importorg.apache.poi.hwpf.usermodel.Range;importorg.apache.poi.xwpf.usermodel.XWPFDocument;importorg.apache.poi.xwpf.usermodel.XWPFParagraph;importorg.apache.poi.xwpf.usermodel.XWPFRun;importorg.apache.poi.xwpf.usermodel.XWPFTable;importorg.apache.poi.xwpf.usermodel.XWPFTableCell;importorg.apache.poi.xwpf.usermodel.XWPFTableRow;public classWordPOI {//返回Docx中需要替换的特殊字符,没有重复项//推荐传入正则表达式参数"\\$\\{[^{}]+\\}"

    public ArrayListgetReplaceElementsInWord(String filePath,

    String regex) {

    String[] p= filePath.split("\\.");if (p.length > 0) {//判断文件有无扩展名//比较文件扩展名

    if (p[p.length - 1].equalsIgnoreCase("doc")) {

    ArrayList al = new ArrayList<>();

    File file= newFile(filePath);

    HWPFDocument document= null;try{

    InputStream is= newFileInputStream(file);

    document= newHWPFDocument(is);

    }catch(FileNotFoundException e) {

    e.printStackTrace();

    }catch(IOException e) {

    e.printStackTrace();

    }

    Range range=document.getRange();

    String rangeText=range.text();

    CharSequence cs= rangeText.subSequence(0, rangeText.length());

    Pattern pattern=Pattern.compile(regex);

    Matcher matcher=pattern.matcher(cs);int startPosition = 0;while(matcher.find(startPosition)) {if (!al.contains(matcher.group())) {

    al.add(matcher.group());

    }

    startPosition=matcher.end();

    }returnal;

    }else if (p[p.length - 1].equalsIgnoreCase("docx")) {

    ArrayList al = new ArrayList<>();

    XWPFDocument document= null;try{

    document= newXWPFDocument(

    POIXMLDocument.openPackage(filePath));

    }catch(IOException e) {

    e.printStackTrace();

    }//遍历段落

    Iterator itPara =document

    .getParagraphsIterator();while(itPara.hasNext()) {

    XWPFParagraph paragraph=(XWPFParagraph) itPara.next();

    String paragraphString=paragraph.getText();

    CharSequence cs= paragraphString.subSequence(0,

    paragraphString.length());

    Pattern pattern=Pattern.compile(regex);

    Matcher matcher=pattern.matcher(cs);int startPosition = 0;while(matcher.find(startPosition)) {if (!al.contains(matcher.group())) {

    al.add(matcher.group());

    }

    startPosition=matcher.end();

    }

    }//遍历表

    Iterator itTable =document.getTablesIterator();while(itTable.hasNext()) {

    XWPFTable table=(XWPFTable) itTable.next();int rcount =table.getNumberOfRows();for (int i = 0; i < rcount; i++) {

    XWPFTableRow row=table.getRow(i);

    List cells =row.getTableCells();for(XWPFTableCell cell : cells) {

    String cellText= "";

    cellText=cell.getText();

    CharSequence cs= cellText.subSequence(0,

    cellText.length());

    Pattern pattern=Pattern.compile(regex);

    Matcher matcher=pattern.matcher(cs);int startPosition = 0;while(matcher.find(startPosition)) {if (!al.contains(matcher.group())) {

    al.add(matcher.group());

    }

    startPosition=matcher.end();

    }

    }

    }

    }returnal;

    }else{return null;

    }

    }else{return null;

    }

    }/*何问起 hovertree.com*/

    //替换word中需要替换的特殊字符

    public static booleanreplaceAndGenerateWord(String srcPath,

    String destPath, Mapmap) {

    String[] sp= srcPath.split("\\.");

    String[] dp= destPath.split("\\.");if ((sp.length > 0) && (dp.length > 0)) {//判断文件有无扩展名//比较文件扩展名

    if (sp[sp.length - 1].equalsIgnoreCase("docx")) {try{

    XWPFDocument document= newXWPFDocument(

    POIXMLDocument.openPackage(srcPath));//替换段落中的指定文字

    Iterator itPara =document

    .getParagraphsIterator();while(itPara.hasNext()) {

    XWPFParagraph paragraph=(XWPFParagraph) itPara.next();

    List runs =paragraph.getRuns();for (int i = 0; i < runs.size(); i++) {

    String oneparaString=runs.get(i).getText(

    runs.get(i).getTextPosition());for (Map.Entryentry : map

    .entrySet()) {

    oneparaString=oneparaString.replace(

    entry.getKey(), entry.getValue());

    }

    runs.get(i).setText(oneparaString,0);

    }

    }//替换表格中的指定文字

    Iterator itTable =document.getTablesIterator();while(itTable.hasNext()) {

    XWPFTable table=(XWPFTable) itTable.next();int rcount =table.getNumberOfRows();for (int i = 0; i < rcount; i++) {

    XWPFTableRow row=table.getRow(i);

    List cells =row.getTableCells();for(XWPFTableCell cell : cells) {

    String cellTextString=cell.getText();for (Entrye : map.entrySet()) {if(cellTextString.contains(e.getKey()))

    cellTextString=cellTextString

    .replace(e.getKey(),

    e.getValue());

    }

    cell.removeParagraph(0);

    cell.setText(cellTextString);

    }

    }

    }

    FileOutputStream outStream= null;

    outStream= newFileOutputStream(destPath);

    document.write(outStream);

    outStream.close();return true;

    }catch(Exception e) {

    e.printStackTrace();return false;

    }

    }else

    //doc只能生成doc,如果生成docx会出错

    if ((sp[sp.length - 1].equalsIgnoreCase("doc"))&& (dp[dp.length - 1].equalsIgnoreCase("doc"))) {

    HWPFDocument document= null;try{

    document= new HWPFDocument(newFileInputStream(srcPath));

    Range range=document.getRange();for (Map.Entryentry : map.entrySet()) {

    range.replaceText(entry.getKey(), entry.getValue());

    }

    FileOutputStream outStream= null;

    outStream= newFileOutputStream(destPath);

    document.write(outStream);

    outStream.close();return true;

    }catch(FileNotFoundException e) {

    e.printStackTrace();return false;

    }catch(IOException e) {

    e.printStackTrace();return false;

    }

    }else{return false;

    }

    }else{return false;

    }

    }public static voidmain(String[] args) {//TODO Auto-generated method stub

    String filepathString = "D:/2.doc";

    String destpathString= "D:/2ttt.doc";

    Map map = new HashMap();

    map.put("${NAME}", "王五王五啊柯乐义的辣味回答侯何问起网");

    map.put("${NsAME}", "王五王五啊王力味回答侯何问起网");

    map.put("${NAMaE}", "王五王五啊柯乐义侯何问起网");

    map.put("${NArME}", "王五王五啊柯乐义的辣味回答东拉网");

    map.put("${NwAME}", "王五王五啊王的辣味回答侯何问起网");

    map.put("${NA4ME}", "王五王五啊王力侯何问起网");

    map.put("${N5AME}", "王五王五辣味回答侯何问起网");

    map.put("${NAadwME}", "王五力宏的辣味回答侯何问起网");

    System.out.println(replaceAndGenerateWord(filepathString,

    destpathString, map));

    }

    }

    展开全文
  • 打开“查找和替换”对话框,选择“替换”标签,在“查找内容”中输入“第节”,然后把光标移到两个字之间,单击下方的〔特殊字符〕按钮(如果没有这个按钮的话,单击〔高级〕按钮就会出现),选择“任意字符”,...

    这个学期,俺从其他单位来到学校,当起了一名普通的计算机教师,为此,俺特别高兴,备课、上课、批改作业,都非常认真,至少个人认为没有对不住人民,没有误人子弟!

    从一开始就认真记录下自己每上一节课程的心得体会,有啥收获、如何改进教学方法、如何上才能让学生能够最大限度的吸收自己所讲的课程!

    时间一长,心得体会文档就越发多起来了!

    今天晚上,忽然觉得,每一节的标题,似乎不太妥当,应该在“第一节”,“第二节”,“第三节”……等字符后面加上一个顿号较为妥当!

    我一开始,我觉得蛮简单的,使用替换功能就足以搞定!查找所有的“节”字,把它替换成“节、”不就行了吗?于是打开文档,进行了一次全面替换,可是,结果并不如我所料,虽然所有的“第一节”,“第二节”,“第三节”……都变成了“第一节、”,“第二节、”,“第三节、”……,可是全文中其他地方出现的“节”字也变成了“节、”。这可怎么办呢?好几十页呀,总不能一个一个地去手动修改吧? 如下图,为俺的部分文档!

    a850a091f97c1067b83bc444dfefa70c.gif

    上图中,所出现的“节”字不仅大标题有,就连文档内容也有很多地方出现这个字!

    想到自己身为计算机教师,此事若不成,名气安存?

    再想到Word的强大功能,总觉得应该有办法的。还不错,一会儿功夫,果然找到了好办法。

    打开“查找和替换”对话框,选择“替换”标签,在“查找内容”中输入“第节”,然后把光标移到两个字之间,单击下方的〔特殊字符〕按钮(如果没有这个按钮的话,单击〔高级〕按钮就会出现),选择“任意字符”,这时查找的内容就是“第^?节”。

    接下来,把光标移到“替换为”框中,单击〔特殊字符〕按钮,选择“查找内容”,如下图

    ee19b59c6a73d60f2369ff5739b3a441.gif

    这个时候,就会自动插入“^&”,再加上一个顿号,这样就把查找的内容替换成原来的查找内容加上一个顿号了,也就是“^&、”,如下图

    c4993365bac9562210d00d0640baa186.gif

    按下〔全部替换〕按钮,实现完全替换,就可以在“第一节”,“第二节”,“第三节”……等字符的后面全部加上顿号、了,而文档内容中出现的单独的“节”字,去没有被替换,如此,目的达到,讲完收工!

    展开全文
  • WORD替换含某个字符的正行数据

    千次阅读 2017-11-01 17:59:00
    例如:我要替换C#注释行 “\\我是注释” 如图替换方式 想替换空行 就是把2个段落符替换成一个段落符即可 ^p^p----->^p
  • POI操作Word文档:对特定字符替换

    千次阅读 2018-05-02 16:07:54
    归根到底是使用循环遍历文档的方式进行替换,先遍历段落,在遍历行,判断是否包含要替换的文字。 如果文件目录没有创建的话会报错,可以先创建对应的文件目录再输出: File outDir =new File(dir); outDir.mkdirs()...
  • 假定字符串为: 小明买冰棍花了5元,买糖果花了3元,买游戏花了59元,小明今天一共花了67元。...以上这篇python 巧用正则寻找字符串中的特定字符的位置方法就是小编分享给大家的全部内容了,希望能
  • 类似于word中的替换操作,我们可以用replace来把一个字符串中的某些字符用新的字符替换,类似于英文replace a with b的语法,具体的代码如下: s = "I love python!" sr = s.replace('o','O') print(sr) 运行结果...
  • python替换word中的字符

    千次阅读 2017-02-21 16:47:38
    需要安装模块,win32com 下载地址:http://download.csdn.NET/detail/clean_water/9759816 ...app=win32com.client.Dispatch('Word.Application') # 打开文件,经测试要是绝对路径 doc=app.Doc
  • 在使用否定向后/向前看断言,在特定方向内,它将允许字符串的开始/结束匹配,但不允许其他人匹配。在这就产生了一些有趣的组合负结构在一个类中,覆盖了无限的范围字符,但允许排除中的某些单个字符那个范围。在要...
  • Java替换特定字符

    2021-04-22 20:13:03
    因此,我要问的是,是否给我们一个“鬼”的字眼并将幽灵替换为“ _”,hiddenWord = ghost.length();for (i=0; i < ghost.lenth(); i ++)System.out.print("_ ")给我们输出“ _ _ _ _ _”可以说我们猜字母“ O”字母...
  • let str = `搭嘎广大嘎嘎大概傻瓜<img src=...公司的公司的还是打个回访电话打发货单<...
  • python替换特定字符

    千次阅读 2017-03-16 20:49:29
    python 字符串替换是python操作字符串的时候经常会碰到的问题,这里简单介绍下字符串替换方法。...我把a字符串里的word替换为python 1用字符串本身的replace方法 a.replace(‘word’,’python’)
  • 引言String这个对于程序原来说一定是最熟悉不过的,很多时候我们都习惯去使用String的原生方法去完成查找字符串、替换、删除,而正则表达式由于略显苦涩的语法常常被人忽略,其实很多时候使用正则表达式可以提高不少...
  • 主要介绍了Java 替换word文档文字,指定位置插入图片功能,本文通过实例代码给大家讲解,需要的朋友可以参考下
  • word中查找和替换特殊字符

    千次阅读 2014-05-27 01:54:48
    常常从网页拷贝到word中的段落文字末尾是下箭头形式的换行符,而非回车符,在排版的时候换行符常常会引起一些不必要的麻烦,而手动一个一个删除换行符再敲入回车又太慢了,可以用查找替换的方式来批量替换。...
  • 需求:多个word文档结尾有编辑、广告等无用信息,需要将从“编辑:”开始到文档结尾的内容全部删除 在word中打开宏录制,然后查找并选中“编辑:”,然后按Shift选中这里到文档末尾的全部内容,选中后按Delete删除...
  • // 替换word中需要替换的特殊字符 public static boolean replaceAndGenerateWord(String srcPath, String destPath, Map, String> map) { String[] sp = srcPath.split("\\."); String[] dp = destPath.split...
  • 在我试图用.jpg文件替换.docx文件中的字符串。首先,我将JPEG转换为BMP并将其移动到剪贴板,然后使用找到。执行用“^c”替换docx文件中的特殊字符串。在这个替换很好,但是它将一个宽度为15.42cm的图像粘贴到.docx...
  • PHP正则表达式:替换两个特殊字符之间的子字符串(PHP Regex : Replace substring between two special character)更新问题:$li_text = $li->plaintext;echo ''.$li_text;echo ''.$li_text = preg_replace('/\:(....
  • 用regex,python替换两个字符之间字符串(Replacing a string between two strings on more then one occasion with regex, python)我正在尝试使用正则表达式来查找和替换文件中两个字符之间的文本字符串。...
  • method of javascript, and the reason I can not use the .replace() method is because it makes the replacement only with the first match of the word in the string, To put in context a little bit more ...
  • 网上没有写的都不清晰 我以自己的实例进行解释吧 概念:通配符(这里借鉴了Linux)的思想 假如一个文档里面有1000行 其中有160行开头是: 好好学习的 这5个字开头 你需要提取160行 “好好学习...将 ^l 全部替换...
  • 2019独角兽企业重金招聘Python工程师标准>>> ...说明:WORD替换为分节符不支持,只有通过变通的办法来进行操作。 转载于:https://my.oschina.net/u/577912/blog/338052
  • word中如何替换内容 WORD中如何替换文字 材料/工具:word2010 1、打开相应的word文档,比如我们要将文档中的“华为”全部改为“HUAWEI”。 2、点击“编辑”菜单,选择“查找”。 3、出现“查找和替换”...
  • 1,可批量替换word中的指定内容 ,亲测,实用。 ps:目录的深度超过3级后,有时替换不了。
  • 根据Excel表格中的内容,替换Word模板中的特定词,然后按照Excel中组长生成文件夹和Word内容 # -*- coding: utf-8 -*- """ Created on Fri Nov 5 19:14:14 2021 @author: Haru H Shen """ import pandas as pd ...
  • 在shell中进行字符串的查找与替换,以及对字符串值进行判断,可以借助shell内置的一些特殊变量处理方法来实现。一、判断读取字符串值表达式 含义${var} 变量var的值,与$var相同${var-DEFAULT} 如果var没有被声明,...
  • 可以将word文档里的字符替换特定字符

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 38,173
精华内容 15,269
关键字:

word替换特定字符之间