所以我尝试编写一个脚本,将转向a
(an
必要时)。这比我想象的要难。
var txt = "This is a apple.";
var pos = txt.search(/a\s[aeiou]/i);
txt = pos != -1 ?
txt.substring(0,pos+1) + "n" + txt.substring(pos+1,txt.length) :
txt;
//"This is an apple."
它正在工作,但是当我尝试时"There are 60 minutes in a hour."
,它并没有an
因为正则表达式而改变。所以我改变了它:
var pos = txt.search(/a\s([aeiou]|hour)/i);
现在它正在工作(至少“小时”)。但是现在如果我放"There are people in a university."
,它会变成an university
,这是不正确的。
那么,有没有一个正则表达式可以涵盖英语中使用a
and的规则呢?an
谢谢!