我有一个公司的字符串描述,这是由不同用户(手工输入)编写的令人讨厌的字符串。下面是一个例子(重点点,空格,首字母等):Java字符串格式化解决方案
XXXX是全球menagement咨询,技术服务和 外包服务公司,257000people服务客户超过 120个国家。结合无与伦比的经验,全面的 能力横跨所有行业和业务功能,并且 广泛研究世界上最成功的公司,XXXX 与客户合作,帮助他们成为高绩效的 企业和政府。,公司产生净收入 截至2012年7月31日止财政年度为279亿美元..
现在,我想要的是字符串格式化为更好一点的版本是这样的:
XXXX是全球领先的管理咨询,技术服务和 外包公司,拥有257,000人口以上的客户提供服务比 120个国家。结合无与伦比的经验,综合所有行业和业务功能 能力,和 广泛研究全球最成功的公司,XXXX 与客户合作,帮助他们成为高性能 企业和政府。该公司净收入的 US $ 27.9十亿截至8月31日的财年,2012年
我的问题是:是否有与已经定义的方法任何库,它可以做所有的拼写校正,不需要去除空间等等。?
到目前为止,如果是“///”,我会将其替换为“,”替换为“,”和toUpperCase()。在前面等..
desc = desc.replace(" ", " ");
desc = desc.replace("..", ".");
desc = desc.replace(" .", ".");
desc = desc.replace(" ,", ", ");
desc = desc.replace(".,", ".");
desc = desc.replace(",.", ".");
desc = desc.replace(", .", ".");
desc = desc.replace("*", "");
我敢肯定有一个更干净和更好的版本来做到这一点。使用正则表达式可能?
任何解决方案,将不胜感激。
你想要做的替换是相当复杂的,所以你需要一个解析器esp翻译日期格式。 –
日期格式不是强制性的东西,我更关注像点,逗号,空格,第一个字母,逗号/点之间的空格等简单的更正。我们确实有如何写这些东西的规则:after一个点必须在另一个句子之前有一个空闲空间..等。 – AlenBer
是的,你应该尝试使用正则表达式。你有什么尝试? –