Javascript 匹配字符串中的单词并使其小写

Javascript 匹配字符串中的单词并使其小写,javascript,regex,match,lowercase,Javascript,Regex,Match,Lowercase,我有一个示例字符串: var string = 'This is a süPer NICE Sentence, am I right?'; 结果必须是: this, is, süper, nice, sentence 要求: 最多5个字 至少包含2个字符的单词 逗号分隔 处理特殊字符,如ü这是当前未发生的情况 全部小写目前未发生这种情况 这是我当前的脚本:(您可以在中进行测试) 在连接之前,将匹配的单词转换为小写的最佳方法是什么?只需从开始处将字符串小写即可 string.toLowerCa

我有一个示例字符串:

var string = 'This is a süPer NICE Sentence, am I right?';
结果必须是:

this, is, süper, nice, sentence
要求:

  • 最多5个字
  • 至少包含2个字符的单词
  • 逗号分隔
  • 处理特殊字符,如ü这是当前未发生的情况
  • 全部小写目前未发生这种情况
  • 这是我当前的脚本:(您可以在中进行测试)


    连接之前,将匹配的单词转换为小写的最佳方法是什么?

    只需从开始处将字符串小写即可

    string.toLowerCase().replace(...
    

    或者,您可以使用array#map将单词数组映射到小写字符串


    console.log(words.map(函数(word){return word.toLowerCase();}).join(',')

    答案肯定是
    toLowerCase()
    ,但我认为最好在末尾而不是开头运行它(操作的项目较少):

    就我所知,toLowerCase()是unicode友好的。你的正则表达式正在剥离任何东西,而不是a-z,a-z

    Asker发现此链接有助于解决正则表达式问题:

    只需使用.toLowerCase()


    特殊字符被正则表达式过滤掉了——如果您知道单词之间用空格分隔,只需使用string.split(“”)

    您可以使用
    字符串的
    toLowerCase
    方法,首先将字符串转换为小写,然后对字符串执行所有需要执行的操作


    例如:
    var string='这是一个非常好的句子,我说得对吗?'

    toLowerCase()方法的问题在于它删除了特殊字符,例如:Ü@andufo“abvcÜ”。toLowerCase()===“abvcü”。奇怪。。。我刚刚在测试了这个例子,然后移除了ü。那将是你的reg exp移除了ü而不是toLowerCase()对不起,我添加了一个特殊的考虑。toLowerCase()正在删除特殊字符(ü)。。。我更新了示例。刚刚注意到
    replace(/[^a-zA-Z\s]/g,function(str){return';})
    正在删除字符。我如何看待正则表达式中的u字符?ToWORCasee()删除特殊字符(u)…我更新了这个例子,也考虑了。“ANDUFO <代码> Word=String。替换(/[^ aZ-z’s/g,函数(STR){返回”;});<代码>是删除那些字符。正则表达式如何也可以考虑特殊字符?“安德福”,我对正则表达式不是很好,也许:这可能也要排除数字。不太确定,太棒了。很高兴我能帮忙。
    string.toLowerCase().replace(...
    
    if(words != null) {
        //5 words maximum
        words = words.slice(0,5);
        if(words.length) {
            console.log(words.join(', ').toLowerCase()); //here
        }
    }
    
    var string = 'This is a süPer NICE Sentence, am I right?';
    string = string.toLowerCase();
    var words = string.split(' ');
    
    //5 words maximum
    words = words.slice(0,5);
    
    console.log(words.join(', ')); //should print: this, is, super, nice, sentence