我有一系列文本字段,我需要清除所有句点。输入的文本是公司名称,有时包含缩写,有时由于其他原因也包括句号。

当文本为缩写时,我想删除句号,否则,我想用空格代替。我将缩写定义为一系列成对的单个字母字符,后跟句号。

示例输入和所需输出:
输入->所需输出

英国->英国

欧洲联盟。 ->欧盟

bank.of->银行

help.co.uk->帮助公司

有人会知道正则表达式或其他方法可以帮助我确定要删除而不是替换的句号吗?

谢谢!!!

最佳答案

分两个步骤进行:

var s = "U.K. bank.of help.co.uk E.U";

//replace periods in abbreviations
var r1 = new RegExp("\\b([A-Z])\\.", 'g');
s = s.replace(r1, "$1");
console.log(s);    //UK bank.of help.co.uk EU

//replace remaining spaces:
s = s.replace(/\./g, " ");
console.log(s); //UK bank of help co uk EU


给定的正则表达式使用JavaScript;如果您需要帮助将其转换为Java,请发表评论。

关于java - Java Regex:用空格代替句号,如果它们是缩写的一部分,则将其删除,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3957008/

10-13 03:17