如何翻开此文字:
•潘基文呼吁立即停火•居民定居于此 al-Qusayr,目击者告诉HRWIsrael忽视不断扩大的暴力行为 定居者,欧盟报告上午9点18分:活动人士的镜头表明 反对派力量继续抵制政府军。这段录像......
进入本文:
潘基文呼吁立即停火。居民定位于 证人告诉HRW,al-Qusayr。以色列无视扩大暴力 欧盟报告称,定居者。上午9点18分:来自积极分子的镜头表明 反对派力量继续抵制政府军。这个 进尺...
这需要使用javascript修复(可能有多个.replace命令)
答案 0 :(得分:1)
分解为几个replace
语句(如下所列)是我的方式(working fiddle)。
fixBullets
函数会将所有项目符号转换为HTML实体,fixBulletEntities
修复这些项目。我这样做是为了规范化项目符号,因为我不确定它们是否只是源字符串中的项目符号或HTML实体。
fixTimes
功能将“9.18am:”更改为“上午9:18”。(否则,fixPeriods
功能使其看起来像“上午9点18分”,我相信您不想要
关于fixCapitalsEndSentence
函数的一个主要警告......这也会将像“WOrDS”这样的字符串转换为“WO.rDS”,这可能不是你想要的。
至少,这应该让你开始......
function fixBullets(text) {
var bullets = /•/g;
return text.replace(bullets, '•');
}
function fixBulletEntities(text) {
var bulletEntities = /•/ig;
text = text.replace(bulletEntities, '. ');
if (text.indexOf('. ') === 0) {
text = text.substring(2);
}
return text;
}
function fixTimes(text) {
var times = /(\d+)[\.:](\d+[ap]m):?/ig;
return text.replace(times, ' $1:$2. ');
}
function fixPeriods(text) {
var periods = /[.](\w+)/g;
return text.replace(periods, '. $1');
}
function fixCapitalsEndSentence(text) {
var capitalsEndSentence = /([A-Z]{2,})([a-z]+)/g;
text = text.replace(capitalsEndSentence, function(match1, match2, match3) {
var len = match2.length - 1;
var newText = match2.substring(0, len) + '. ' + match2.substring(len, len + 1) + match2.substring(len + 1) + match3;
return newText;
});
return text;
}
function fixMultipleSpaces(text) {
var multipleSpaces = /\s+/g;
return text.replace(multipleSpaces, ' ');
}
function fixAll(text) {
text = fixBullets(text);
text = fixBulletEntities(text);
text = fixTimes(text);
text = fixPeriods(text);
text = fixCapitalsEndSentence(text);
text = fixMultipleSpaces(text);
return text;
}