给定
string = 'Stackoverflow is awesome. It answers all my questions';
string = 'Stackoverflow. Q and A site';
我可以在句号之前得到一切string.split('.')[0];
但是我只想在句号出现在一定数量的字符之后才这样做,否则会在句号之前返回所有内容。
我正确地需要一个正则表达式来做到这一点,但不知道如何。
给定
string = 'Stackoverflow is awesome. It answers all my questions';
string = 'Stackoverflow. Q and A site';
我可以在句号之前得到一切string.split('.')[0];
但是我只想在句号出现在一定数量的字符之后才这样做,否则会在句号之前返回所有内容。
我正确地需要一个正则表达式来做到这一点,但不知道如何。
/^.{20,}?\./
应该这样做。^
告诉它开始查看搜索字符串的开头,第一个意味着.
匹配任何字符,它{20,}
是一个量词,表示“至少 20”,并且?
使其匹配尽可能少(否则它将返回所有内容最后一个点)。最后\.
匹配一个文字点。
最简单的方法应该是
var result = string.split('.')[0].length > 20 ? string.split('.')[0] : string;
不需要正则表达式。
你可以这样做:
function trimToDot(s) {
var head = s.split('.')[0];
return ( head.length > 20 ) ? head : s;
}