簡體   English   中英

如何在字符串中找到整個 substring?

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM