Javascript 试图返回最长的单词,但删除了某个字符
我想要的结果是Javascript 试图返回最长的单词,但删除了某个字符,javascript,Javascript,我想要的结果是句子,但它返回句子。。如何指定要删除“.” 函数最长字(字符串){ var str=string.split(“”); var=0; var-word=null; 变量sep=',?!'; 对于(变量i=0;ia.length-b.length)//按长度排序 .pop();//回程最长 log(longestWord('创建一个函数以返回句子中最长的单词')调整现有解决方案 您可以使用replace by regex排除sep 此外,if(longest
句子
,但它返回句子。
。如何指定要删除“.”
函数最长字(字符串){
var str=string.split(“”);
var=0;
var-word=null;
变量sep=',?!';
对于(变量i=0;i尝试使用。替换
例如:
var str = "sentence."
str = str.replace(".", "")
相同。替换逻辑可用于循环输入字符串,并可能添加其他字符,如/,;等等。正则表达式会工作得更好
const nonAlpha=/[^\w\s]| /ug//非字母和下划线
const longestWord=string=>string
.replace(nonAlpha,“”)。split(“”//删除非字母
.sort((a,b)=>a.length-b.length)//按长度排序
.pop();//回程最长
log(longestWord('创建一个函数以返回句子中最长的单词')代码>调整现有解决方案
您可以使用replace by regex排除sep
此外,if(longest
也应该更改为您的include条件没有按预期工作
函数最长字(字符串){
var str=string.split(“”);
var=0;
var-word=null;
变量sep=',?!';
对于(变量i=0;isep.split(“”).includes(v))){
str[i]=str[i]。子字符串(0,str[i]。长度-1);
}
if(longestsep.includes(str[i])
检查字符串,?!”
中是否有完整的单词str[i]
。不使用split
,只需使用var str=string.match(/\b(\w+)\b/g)
直接获取单词。这将删除逗号、圆点等。然后您根本不需要sep
逻辑:在您的示例中,您有两个符合您的标准的单词-它们是长度相同的最长单词-8个字符。函数和句子。预期结果是什么?句子。实际上不是一个单词。它是一个word后跟标点符号。在您的示例中,您有单词;应如何考虑?应将其归类为4、5或7个字符的单词?