[英]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.