我有几个字符串,我只想显示包含两个单词的字符串。
每个单词只能包含A-Z或a-z
(下面的每个字符串都有一个新行)
"AIR CLEANING" <- true
"AIR CLN ASM C27w CLUTCH" <- false
"AIR COMPO. LUBRICATOR" <- false
"AIR COMP" <- true
"O-RING" <- false
答案 0 :(得分:1)
您可以选择一个开始和结束符号,并使用一组用空格分隔所需的字符。
var array = ["AIR CLEANING", "AIR CLN ASM C27w CLUTCH", "AIR COMPO. LUBRICATOR", "AIR COMP", "O-RING"];
console.log(array.map(s => /^[A-Z]+\s+[A-Z]+$/i.test(s)));
答案 1 :(得分:1)
这个简单的任务可以通过简单地使用javascript在没有正则表达式的可变性的情况下完成。
let string = `AIR CLEANING
AIR CLN ASM C27w CLUTCH
AIR COMPO. LUBRICATOR
AIR COMP
O-RING`;
let splitSpace = string.split('\n');
let result = splitSpace.map(x => x.split(' ').length === 2 ? true : false);
console.log(result);
&#13;
答案 2 :(得分:1)
使用正则表达式非常简单:
var rx = /^\w+\s+\w+$/
console.log(rx.test("AIR CLEANING"))
console.log(rx.test("AIR CLN ASM C27w CLUTCH"))
console.log(rx.test("AIR COMPO. LUBRICATOR"))
console.log(rx.test("AIR COMP"))
console.log(rx.test("O-RING"))
&#13;
这会考虑类似于&#39; Hello3&#39;一个字。所以这一行:&#39; hello3 27test&#39;是真的。它还会将多个空格视为一个空格。
答案 3 :(得分:0)
var array = ["AIR CLEANING", "AIR CLN ASM C27w CLUTCH", "AIR COMPO. LUBRICATOR", "AIR COMP", "O-RING"];
console.log(
array.map(e => (e.split(" ").length == 2) ? true : false )
)
&#13;