我想检查我的字符串“你好我的名字是托马斯”是否与字符串“你好我的名字是$”匹配。 因此,对我来说,以下陈述应为真:
"Hello my name is Thomas" == "Hello my name is $"
之后,我想提取$字符串,例如
function getParam(text, template) {
returns "Thomas"
}
您有什么建议吗?
答案 0 :(得分:5)
您可以创建一个正则表达式,然后使用Regex.exec
const regex = /Hello my name is (.*)/;
const ret = regex.exec('Hello my name is thomas');
console.log(ret[1]);
使用正则表达式时,可以使用https://regex101.com/。它可以帮助您了解自己在做什么。
您的示例:
function extractName(str) {
const ret = /Hello my name is (.*)/.exec(str);
return (ret && ret[1].trim()) || null;
}
const name = extractName('Hello my name is thomas');
const nameWithSpace = extractName('Hello my name is thomas ');
const fail = extractName('failure');
console.log(name);
console.log(nameWithSpace);
console.log(fail);