เมธอด IndexOf() ของสตริงค้นหาว่าสตริงที่ส่งผ่านเป็นพารามิเตอร์ปรากฏบนสตริงหรือไม่ หากพบสตริง ก็จะส่งคืนตำแหน่งเริ่มต้นของอักขระ (0 หมายถึงอักขระตัวแรก 1 หมายถึงอักขระตัวที่สองตามหลัง โดยการเปรียบเทียบ ) หากไม่พบ ก็จะส่งคืน -1 เมธอด IndexOf() ของสตริงจะค้นหาว่าสตริงที่ส่งผ่านเป็นพารามิเตอร์ปรากฏบนสตริงหรือไม่ หากพบสตริง ก็จะส่งคืนตำแหน่งเริ่มต้นของอักขระ (หมายถึง 0 อักขระหนึ่งตัวแรก 1 หมายถึงอักขระตัวที่สองและอื่นๆ) หากระบุว่าไม่พบ ก็จะส่งกลับ -1
ส่งกลับตำแหน่งอักขระของการเกิดขึ้นครั้งแรกของสตริงย่อยภายในวัตถุ String
คัดลอกรหัสรหัสดังต่อไปนี้:
สาธารณะ indexOf(value:String, [startIndex:Number]) : Number
ค้นหาสตริงและส่งกลับตำแหน่งของค่าที่เกิดขึ้นครั้งแรกที่พบที่หรือหลัง startIndex ภายในสตริงที่เรียก ดัชนีนี้เป็นแบบศูนย์ ซึ่งหมายความว่าอักขระตัวแรกในสตริงจะถือว่าอยู่ที่ดัชนี 0 แทนที่จะเป็นดัชนี 1 หากไม่พบค่า เมธอดนี้จะคืนค่า -1
พารามิเตอร์
value:String - สตริงย่อยที่ต้องการค้นหา
startIndex:Number [เป็นทางเลือก] - จำนวนเต็มที่ระบุดัชนีเริ่มต้นสำหรับการค้นหา
กลับ
Number - ตำแหน่งที่เกิดครั้งแรกของสตริงย่อยที่ระบุหรือ -1
-------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -----------------------------------------------
วิธีดัชนีของ
ส่งกลับตำแหน่งอักขระของการเกิดขึ้นครั้งแรกของสตริงย่อยภายในวัตถุ String
strObj.indexOf (สตริงย่อย [, startIndex])
พารามิเตอร์
สตรอบ
ที่จำเป็น. วัตถุสตริงหรือตัวอักษร
สตริงย่อย
ที่จำเป็น. สตริงย่อยที่จะค้นหาในวัตถุ String
ดัชนีดาว
ไม่จำเป็น. ค่าจำนวนเต็มนี้ระบุดัชนีภายในออบเจ็กต์ String เพื่อเริ่มการค้นหา หากละเว้น การค้นหาจะมาจากจุดเริ่มต้นของสตริง
แสดงให้เห็น
วิธีการindexOfส่งกลับค่าจำนวนเต็มที่ระบุตำแหน่งเริ่มต้นของสตริงย่อยภายในวัตถุสตริง หากไม่พบสตริงย่อย ระบบจะส่งคืน -1
หาก startindex เป็นลบ startindex จะถือเป็นศูนย์ หากมากกว่าดัชนีตำแหน่งอักขระที่ใหญ่ที่สุด จะถือเป็นดัชนีที่ใหญ่ที่สุดที่เป็นไปได้
การค้นหาจะดำเนินการจากซ้ายไปขวา มิฉะนั้น วิธีการจะเหมือนกับ LastIndexOf
ตัวอย่าง
ตัวอย่างต่อไปนี้แสดงให้เห็นถึงการใช้วิธีการindexOf
คัดลอกรหัสรหัสดังต่อไปนี้:
ฟังก์ชั่น IndexDemo (str2) {
var str1 = เบบีบิโบบูบาเบบีโบบู
var s = str1.indexOf(str2);
ผลตอบแทน;
-
ตัวอย่าง:
ฉันได้สตริง a เป็น 1,18,33
ถ้าเขียนเป็น indexOf(1) แสดงว่าหาไม่เจอ ที่สำคัญมี 1 อยู่หน้า 18 และ 1 เงื่อนไขในการจัดตั้งจึงไม่ถูกต้อง
indexOf ถูกใช้เช่นนี้
คัดลอกรหัสรหัสดังต่อไปนี้:
การทดสอบสตริง = 1,18,33;
ถ้า (test.IndexOf(1) > -1)
-
Response.Write (มีอยู่);
-
อื่น
-
Response.Write (ไม่มี);
-
แต่หากตรงตามข้อกำหนดเพียง 1 รายการ แต่ 1 ใน 18 รายการไม่ตรงตามข้อกำหนด แสดงว่า IndexOf ไม่สามารถใช้งานได้ ดังนั้น
คัดลอกรหัสรหัสดังต่อไปนี้:
ใช้ System.Text.RegularExpressions;
การทดสอบสตริง = 1,18,33;
ถ้า (Regex .IsMatch(ทดสอบ, @/b1/b))
-
Response.Write (มีอยู่);
-
อื่น
-
Response.Write (ไม่มี);
-
บันทึก:
/b จับคู่ขอบเขตคำใน regex
ได้เขียนวิธี
คัดลอกรหัสรหัสดังต่อไปนี้:
//src สตริงซอร์ส
//สตริง tar ที่จะเปรียบเทียบ
CheckString บูลส่วนตัว (สตริง src, สตริง tar)
-
สตริง temp = Regex.Replace(tar, @[.$^{/[(|)*+?//], );
ถ้า (temp.Length < tar.Length)
กลับเท็จ;
ถ้า (Regex.IsMatch(src, @/b + tar + @/b))
กลับเป็นจริง;
กลับเท็จ;
-