我有两个字符串,它们使用相同的字母,但其中一个字符串在结尾和单词之间包含空格
const message = 'Hello javascript world ';
const message1 = 'Hello javascript world ' ;
我想忽略这些空格从2个字符串只比较字符串的其余字符,以便得到一个布尔结果等于真当我这样做消息=== message1
这需要一个正则表达式
是的,您可以使用str.replace(/s+/g, '')
删除空格,然后简单地比较字符串
它看起来像这样:
const message = 'Hello javascript world ';
const message1 = 'Hello javascript world ' ;
const equal = message.replace(/s+/g, '') == message1.replace(/s+/g, '');
// true
可以使用String.replaceAll()方法创建一个函数,如下所示:
const message = 'Hello javascript world ';
const message1 = 'Hello javascript world ' ;
const stringsMatch = (str1, str2) => str1.replaceAll(' ', '') == str2.replaceAll(' ', '')
console.log(stringsMatch(message, message1))
或者,您可以使用String.replace()方法与您提到的regex
const stringsMatchRegex = (str1, str2) => str1.replace(/ /g, '') == str2.replace(/ /g, '')
console.log(stringsMatchRegex(message, message1))
我还建议在两个字符串上使用String.toLowerCase()来绕过字符大小写:
const stringsMatch = (str1, str2) => str1.replaceAll(' ', '').toLowerCase() == str2.replaceAll(' ', '').toLowerCase()