[英]How to find whole substring in string?
我有一个字符串,我必须检查该字符串是否包含定义的 substring 我需要做一些工作,否则,我应该返回一些错误。 我有以下代码:
function isContains(myString) {
let subString = 'test1234';
if(myString.includes(subString)) {
// to do some work
} else {
// return some error.
}
}
但问题是如果myString = 'my-string-test1-rrr'
它的条件返回 true。 只有当整个subString
包含在myString
中时,我才能做到这一点?
使用indexOf()
代替。
function isContains(myString) {
let subString = 'test1234';
if(myString.indexOf(subString) > -1) {
// to do some work
} else {
// return some error.
}
}
您可以使用正则表达式检查该值是否存在;
示例 1不包含特定字符串
var test = 'my-string-test1-rrr'; console.log(' test --- ', test.match(/test1234/g))
示例 2
包含特定字符串
var test = 'my-string-test1234-rrr'; console.log(' test --- ', test.match(/test1234/g))
强烈建议使用includes()
而不是indexOf()
,并且 indexOf 会返回您希望立即得到答案的事件的索引 - 如果在搜索的字符串中找到 substring,则返回 false / true。
您的 function 完全符合您的要求。 我建议隔离此 function 的检索并使其更纯净,然后当您返回 boolean 值时,您可以使用它来运行您希望的任何逻辑。 这样你就可以保持这个 function 纯净并更好地分离你的关注点。
我还相信,如果您像在我提供的示例中那样隔离此功能,则调试问题会更容易。
function isContains(myString) {
let subString = 'test1234';
let isContains = false;
if(myString.includes(subString)) {
isContains = true;
} else {
isContains = false;
}
return isContains;
}
您可以在代码的稍后阶段像这样使用它:
const myString = 'my-string-test1-rrr';
let shouldRunOtherLogic = isContains(myString);
if (shouldRunOtherLogic) {
// to do some work
} else {
// return some error.
}
希望我能提供帮助,如果您有任何进一步的需要,请随时告诉我。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.