匹配字符串中的单词并使其小写
Match words in a string and make them lowercase
我有一个示例字符串:
var string = 'This is a süPer NICE Sentence, am I right?';
结果必须是:
this, is, süper, nice, sentence
要求:
- 最多5个字
- 至少包含2个字符的单词
- 逗号分隔
- 处理特殊字符,如ü这目前没有发生
- 全部小写当前没有发生这种情况
这是我当前的脚本:(你可以在jsfiddle中测试它(
var string = 'This is a süPer NICE Sentence, am I right?';
var words;
words = string.replace(/[^a-zA-Z's]/g,function(str){return '';});
words = words.match(/'w{2,}/g);
if(words != null) {
//5 words maximum
words = words.slice(0,5);
if(words.length) {
console.log(words.join(', ')); //should print: this, is, süper, nice, sentence
}
}
在join
之前,将匹配的单词转换为小写的最佳方法是什么?
答案肯定是toLowerCase()
,但我认为运行它的最佳位置是在末尾而不是开头(要操作的项目较少(:
if(words != null) {
//5 words maximum
words = words.slice(0,5);
if(words.length) {
console.log(words.join(', ').toLowerCase()); //here
}
}
据我所知,toLowerCase((对unicode是友好的。您的正则表达式正在剥离除a-z、a-z之外的任何内容。
Asker发现这个链接有助于解决正则表达式问题:正则表达式匹配非英文字符?
只需使用.toLowerCase((.
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
正则表达式过滤掉了特殊字符——如果你知道单词之间用空格分隔,只需使用string.split(''(;
只需将开头的字符串小写即可
string.toLowerCase().replace(...
或者,您可以使用array#map将单词数组映射为小写字符串。
console.log(words.map(function(word) { return word.toLowerCase(); }).join(', '));
您可以使用string
的toLowerCase
方法首先将字符串转换为小写,然后对字符串执行所有需要执行的操作。
例如:var string = 'This is a suPer NICE Sentence, am I right?'.toLowerCase();
相关文章:
- 如何在Javascript中从字符串中提取某些单词
- 如何在PHP中获取特定的字符串单词
- 对字符串使用IndexOf来挑选某些单词
- 如何替换数据属性中的特定字符串单词
- 在字符串列表中搜索任何出现的单词,如果单词的第一个字符匹配,则高亮匹配单词.Javascript正则表达式
- 我如何从字符串中选出第一个单词的第一个字母,然后再选出第二个单词
- Regex模式,用于检查字符串中每个单词的第一个字母(如果是Javascript中的大写字母)
- 类别自动完成jQuery中的单词级自定义筛选器,而不是子字符串
- 测试字符串中的多个单词
- 正则表达式以更改字符串中的某些单词
- 输出包含3个单词的字符串中的前2个单词
- Geoplugin字符串结果为德语单词/语言
- 如何知道找到的单词是字符串的一部分还是JavaScript中的函数调用
- 跳过用户输入的文本字符串中的特殊字符,并在 Javascript 中的每个单词后添加连字符
- 查找数组中最长的单词/字符串
- 使用 jQuery 在大写字母中制作特定的单词(字符串)
- 在 javascript 中使用嵌套的 for 循环返回单词字符串中重复最多的字母
- JavaScript RegEx新手-从三个单词字符串中选择中间单词
- 使用javascript确保给定的单词(字符串)都是大写字母
- 判断多单词字符串是否包含单词