JavaScript 字串 indexOf() 方法



JavaScript 字串 indexOf() 方法用於查詢指定子字串在原始字串中第一次出現的索引。它返回子字串的位置,如果子字串不存在則返回 -1。例如,"hello".indexOf("lo") 返回 3,而 "hello".indexOf("hi") 返回 -1。

此方法接受一個名為 position 的可選引數,該引數指定原始字串中方法開始搜尋指定子字串的位置。此引數的預設值為 0。例如,"hello".indexOf("l", 2) 返回 2,而 "hello".indexOf("l", 3) 返回 3。

注意 - 此方法區分大小寫,它將 "s" 和 "S" 視為不同的值。

語法

以下是 JavaScript 字串 indexOf() 方法的語法 -

indexOf(searchString, position)

引數

  • searchString - 要搜尋的子字串。
  • position (可選) - 從哪裡開始搜尋。

返回值

此方法返回找到的子字串第一次出現時的索引。

示例 1

如果我們省略 position 引數,此方法將為 position 考慮預設值 0 並返回指定子字串 "to" 在原始字串 "TutorialsPoint" 中第一次出現的索引。

<html>
<head>
<title>JavaScript String indexOf() Method</title>
</head>
<body>
<script>
   const str = "TutorialsPoint";
   const sub_str = "to";
   document.write("Original string: ", str);
   document.write("<br>Sub-string to be searched: ", sub_str);
   document.write("<br>An index of search string '", sub_str,"' is: ", str.indexOf(sub_str));
</script>
</body>
</html>

輸出

上述程式為子字串 "to" 返回索引 2。

Original string: TutorialsPoint
Sub-string to be searched: to
An index of search string 'to' is: 2

示例 2

如果我們將 position 引數值傳遞為 5,則該方法將從原始字串中的位置 5 開始搜尋子字串。

以下是 JavaScript 字串 indexOf() 方法的另一個示例。在這裡,我們使用此方法查詢子字串 "o" 在原始字串 "HelloWorld" 中起始位置為 5 時的索引。

<html>
<head>
<title>JavaScript String indexOf() Method</title>
</head>
<body>
<script>
   const str = "HelloWorld";
   const sub_str = "o";
   const position = 5;
   document.write("Original string: ", str);
   document.write("<br>Sub-string to be searched: ", sub_str);
   document.write("<br>Position value is: ", position);
   document.write("<br>An index of search string '", sub_str,"' is: ", str.indexOf(sub_str, position));
</script>
</body>
</html>

輸出

執行上述程式後,它將為指定位置 5 處的子字串 'o' 返回索引值 '6'。

Original string: HelloWorld
Sub-string to be searched: o
Position value is: 5
An index of search string 'o' is: 6

示例 3

如果在原始字串中找不到指定的子字串,則此方法返回 -1

在以下示例中,我們嘗試在原始字串 "JavaScript" 中查詢子字串 "Mom" 的索引。

<html>
<head>
<title>JavaScript String indexOf() Method</title>
</head>
<body>
<script>
   const str = "JavaScript";
   const sub_str = "Mom";
   document.write("Original string: ", str);
   document.write("<br>Sub-string to be searched: ", sub_str);
   let result = str.indexOf(sub_str);
   document.write("<br>Method str.indexOf(sub_str) returns: ", result);
   if(result == -1){
      document.write("<br>Not found...!");
   }else{
      document.write("<br>Found...!");
   }
</script>
</body>
</html>

輸出

上述程式中的 indexOf() 方法在找不到子字串時返回 -1。

Original string: JavaScript
Sub-string to be searched: Mom
Method str.indexOf(sub_str) returns: -1
Not found...!

示例 4

如果 position 大於呼叫字串的長度,則該方法根本不會搜尋呼叫字串,並返回 -1

<html>
<head>
<title>JavaScript String indexOf() Method</title>
</head>
<body>
<script>
   const str = "JavaScript";
   const sub_str = "a";
   const position = 20;
   document.write("Original string: ", str);
   document.write("<br>Sub-string to be searched: ", sub_str);
   document.write("<br>Position value: ", position);
   let result = str.indexOf(sub_str, position);
   document.write("<br>Method str.indexOf(sub_str) returns: ", result);
</script>
</body>
</html>

輸出

上述程式為大於原始字串長度的較大 position 值返回 -1。

Original string: JavaScript
Sub-string to be searched: a
Position value: 20
Method str.indexOf(sub_str) returns: -1
廣告