字串的IndexOf()方法搜尋在該字串上是否出現了作為參數傳遞的字串,如果找到字串,則傳回字元的起始位置(0表示第一個字元,1表示第二個字元依此類推)如果說沒有找到則傳回-1字串的IndexOf()方法搜尋在該字串上是否出現了作為參數傳遞的字串,如果找到字串,則傳回字元的起始位置(0表示第一個字元,1表示第二個字元依此類推)如果說沒有找到則回傳-1
傳回String 物件內第一次出現子字串的字元位置。
複製代碼代碼如下:
public indexOf(value:String, [startIndex:Number]) : Number
搜尋字串,並傳回在呼叫字串內startIndex 位置上或之後找到的value 的第一個符合項目的位置。此索引從零開始,這表示字串中的第一個字元被視為位於索引0 而不是索引1 處。如果未找到value,則該方法會傳回-1。
參數
value:String - 一個字串;要搜尋的子字串。
startIndex:Number [可選] - 一個整數,指定搜尋的開始索引。
返回
Number - 指定子字串的第一個符合項目的位置,或-1。
-------------------------------------------------- -------------------------------------------------- ----------------------------------------------
indexOf 方法
傳回String 物件內第一次出現子字串的字元位置。
strObj.indexOf(subString[, startIndex])
參數
strObj
必選項。 String 物件或文字。
subString
必選項。要在String 物件中尋找的子字串。
starIndex
可選項。此整數值指出在String 物件內開始尋找的索引。如果省略,則從字串的開始處尋找。
說明
indexOf 方法傳回一個整數值,指出String 物件內子字串的起始位置。如果沒有找到子字串,則傳回-1。
如果startindex 是負數,則startindex 被當作零。如果它比最大的字元位置索引還大,則它被當作最大的可能索引。
從左向右執行查找。否則,該方法與lastIndexOf 相同。
範例
下面的範例說明了indexOf 方法的用法。
複製代碼代碼如下:
function IndexDemo(str2){
var str1 = BABEBIBOBUBABEBIBOBU
var s = str1.indexOf(str2);
return(s);
}
實例:
我得到一個字串a為1,18,33
如果寫成a indexOf(1) 好像查不出來更重要的是18和1前面都有個1所以成立的條件不準確請問該怎麼寫啊
indexOf這樣用
複製代碼代碼如下:
string test = 1,18,33;
if (test.IndexOf(1) > -1)
{
Response.Write(存在);
}
else
{
Response.Write(不存在);
}
但是如果說只有1符合要求,而18中的1不符合要求,那不能用IndexOf來做,這樣
複製代碼代碼如下:
using System.Text.RegularExpressions;
string test = 1,18,33;
if (Regex .IsMatch(test, @/b1/b))
{
Response.Write(存在);
}
else
{
Response.Write(不存在);
}
註:
/b 在正規中符合一個單字邊界
寫了一個方法
複製代碼代碼如下:
//src 來源字串
//tar 待比較字串
private bool CheckString(string src, string tar)
{
string temp = Regex.Replace(tar, @[.$^{/[(|)*+?//], );
if (temp.Length < tar.Length)
return false;
if (Regex.IsMatch(src, @/b + tar + @/b))
return true;
return false;
}