从字符串中删除所有格式,编号列表,项目符号列表,空格,制表符等

时间:2012-07-20 13:39:54

标签: java formatting jtextarea

我正在制作自定义文档比较工具。我正在将word文档中的内容与网页内容进行比较。我正在解析网页,只是删除文本并将其与我从word文档复制到JTextarea的文本进行比较。

我想做的就是比较文字,确保没有拼写错误或遗漏的单词。当我解析网页时,我没有得到任何格式,如编号或项目符号列表。我的问题是,当我将单词doc的内容复制到我的jtextarea时,它会保留所有编号列表,项目符号列表等。

我想要的是采用以下文字示例:

  

解决方案1:重新启动网络硬件

     

如果Xbox LIVE性能似乎很慢,请尝试重新启动网络硬件。方法如下:

     
      
  1. 关闭Xbox 360控制台和任何网络硬件(例如,您的调制解调器和路由器)。
  2.   
  3. 等待30秒。
  4.   
  5. 打开调制解调器,等一分钟。
  6.   

然后把它变成:

  

解决方案1:重新启动网络硬件
  如果Xbox LIVE性能似乎很慢,请尝试重新启动网络硬件。方法如下:
  关闭Xbox 360控制台和任何网络硬件(例如,您的调制解调器和路由器)   等待30秒   打开调制解调器,等一分钟。

我已经有一个正则表达式删除所有空行,我只是不知道我应该如何处理删除额外的标签,列表样式等有任何建议吗?

1 个答案:

答案 0 :(得分:2)

您可以尝试以下启发式方法:

  • 用空格替换所有标签(等)(参见String.replaceAll()
  • 用空格替换所有空格 - 后跟数字后跟点开头(参见正则表达式:|^ *\d*\\.| - carret-space-star-backslash-d -backslash-反斜杠点)
  • 用一个空格替换所有空间系列(正则表达式:| +| - 空格 - 空格+)(以去除多余的空间) - 将此作为最后一步保留

如果您遇到其他您不想要的模式,可以在那里添加任何其他替换逻辑

注意:我在正则表达式周围添加了|以使前导空格更容易看到,但是当您输入代码时它们不是正则表达式的一部分。