Returns the first occurrence of a substring in a String object.
Public indexOf (value: String, [startIndex: Number]): Number
Search for the string, and return the position of the first matching item of the value found at or after the startIndex position in the call string. This index starts from scratch, meaning that the first character in the string is considered to be at index 0 rather than Index 1. If no value is found, this method returns-1.
Parameters
Value: String-a String; the substring to be searched.
StartIndex: Number [Optional]-an integer that specifies the start index of the search.
Return
Number-indicates the position of the first match of the substring, or-1.
IndexOf Method
Returns the first occurrence of a substring in a String object.
StrObj. indexOf (subString [, startIndex])
Parameters
StrObj
Required. String object or text.
SubString
Required. The substring to be searched in the String object.
StarIndex
Optional. This integer indicates the index in the String object. If it is omitted, It is searched from the beginning of the string.
Description
The indexOf method returns an integer indicating the starting position of the substring in the String object. If no substring is found,-1 is returned.
If startindex is negative, startindex is treated as zero. If it is larger than the index at the largest character location, it is regarded as the largest possible index.
Search from left to right. Otherwise, this method is the same as lastIndexOf.
Example
The following example illustrates how to use the indexOf method.
Copy codeThe Code is as follows:
Function IndexDemo (str2 ){
Var str1 = "BABEBIBOBUBABEBIBOBU"
Var s = str1.indexOf (str2 );
Return (s );
}
Instance:
I get a string named "1, 18, 33"
If it is written as a indexOf ("1"), it seems that it cannot be found. More importantly, there is a 1 in front of 18 and 1, so the established conditions are inaccurate. How can I write them?
IndexOf
Copy codeThe Code is as follows:
String test = "1, 18, 33 ";
If (test. IndexOf ("1")>-1)
{
Response. Write ("exist ");
}
Else
{
Response. Write ("nonexistent ");
}
However, if only 1 meets the requirements, and 1 in 18 does not, you cannot use IndexOf.
Copy codeThe Code is as follows:
Using System. Text. RegularExpressions;
String test = "1, 18, 33 ";
If (Regex. IsMatch (test, @ "\ b1 \ B "))
{
Response. Write ("exist ");
}
Else
{
Response. Write ("nonexistent ");
}
Note:
\ B matches a word boundary in the Regular Expression
Write a method
Copy codeThe Code is as follows:
// Src Source string
// Tar string to be compared
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;
}