[英]How to split a string by length using split function and a RegEx in javascript?
[英]How to Split string In javascript Using regex
我正在尝试做这样的事情
function findLongestWord(str) {
var wordContainer = str.split(/\b/) || 0;
document.write(wordContainer);
}
findLongestWord("The quick brown fox jumped over the lazy dog");
但这又回来了
The, ,quick, ,brown, ,fox, ,jumped, ,over, ,the, ,lazy, ,dog
但是如果我做这样的事情
function findLongestWord(str) {
var wordContainer = str.split(" ") || 0;
document.write(wordContainer);
}
findLongestWord("The quick brown fox jumped over the lazy dog");
它按预期工作并返回
The,quick,brown,fox,jumped,over,the,lazy,dog
那么为什么在分割中使用/ \\ b /与使用“”不同?
因为" "
是文字空间, \\b
是单词边界。
如果第一个字符是单词字符,则单词边界出现在字符串的第一个字符之前;如果最后一个字符是单词字符,则在字符串的最后一个字符之后,再出现在字符串的两个字符之间,一个是单词字符,另一个不是单词字符,这意味着您的字符串看起来像这样,带有边界:
"The\b \bquick\b \bbrown\b \bfox\b \bjumped\b \bover\b \bthe\b \blazy\b \bdog"
换句话说,您要在单词的开头和结尾匹配\\b
,并且在拆分时也得到空格,最后得到
["The"," ","quick"," ","brown"," ","fox"," ","jumped"," ","over"," ","the"," ","lazy"," ","dog"]
如果要在边界上分割单词,则必须同时添加它们和中间的任何内容,例如/\\b.\\b/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.