C#解决使用Aspose.Words进行Word中文本替换,第二段出现空格或制表符的问题

使用Aspose.Words进行Word中文本替换的代码如下:

using Aspose.Words;

string fileName = "a.doc";//fileName是路径地址,需要扩展名
Aspose.Words.Document doc = new Document(fileName);//打开word文档

doc.Range.Replace("你好", "*****", new Aspose.Words.Replacing.FindReplaceOptions());
                

以上代码中,“你好”  是a.doc中需要替换的文本,***** 是替换后的文本,可以是数据库中的字段,或TextBox控件中的文字等。

通过以上代码实现了doc文本中的文字替换,但在替换过程中会出现:当你用连续几段文字对doc中的指定文本进行替换时,从替换后的第二段文本开始,每一段的段前都会出现一个类似空格和制表符的东西(在WPS中,以空格或制表符的形式显示;在office中,以一个长方形的小方块的形式显示),没错,实际上那不是空格或制表符,而是上一段的回车留下的空白,在你替换文本写入word时,当前word会进行分段,并保留之前回车和空白。之前的空白是在上一段的段末,此时的空白则被放置到了下一段段首

我们的解决方式就是将该空白进行替换,替换的方式如下:

doc.Range.Replace("\n你", "你", new Aspose.Words.Replacing.FindReplaceOptions());
doc.Range.Replace("\n好", "好", new Aspose.Words.Replacing.FindReplaceOptions());

也就是把之前的回车给替换成 “”(空字符串),不能直接将  “\n”  替换成  “” ,那么首行缩进就没了,简单实现首行缩进就是直接空两个字的位置 。

doc.Range.Replace("\n", "    ", new Aspose.Words.Replacing.FindReplaceOptions());

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

肥羊汤

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值