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