ตอบ: จะตรวจสอบได้อย่างไรว่าตัวละครอยู่ในสตริงหรือไม่


คุณสามารถใช้วิธีการต่อไปนี้เพื่อตรวจสอบว่าอักขระอยู่ในสตริงใน R หรือไม่:

วิธีที่ 1: ตรวจสอบว่าอักขระอยู่ในสตริงโดยใช้ Base R หรือไม่

 grepl(my_character, my_string, fixed= TRUE )

วิธีที่ 2: ตรวจสอบว่าอักขระอยู่ในสตริงโดยใช้แพ็คเกจ stringr หรือไม่

 library (stringr) 

str_detect(my_string, my_character)

ตัวอย่างต่อไปนี้แสดงวิธีการใช้แต่ละวิธีในทางปฏิบัติ

ตัวอย่างที่ 1: ตรวจสอบว่าอักขระอยู่ในสตริงโดยใช้ Base R หรือไม่

รหัสต่อไปนี้แสดงวิธีการตรวจสอบว่า “Doug” มีอยู่ในสตริงเฉพาะใน R หรือไม่:

 #define character to look for
my_character <- "Doug"

#define string
my_string <- "Hey my name is Douglas"

#check if "Doug" is in string
grepl(my_character, my_string, fixed= TRUE )

[1] TRUE

เนื่องจาก “Doug” มีอยู่ในสตริง ฟังก์ชัน grepl() จึงส่งคืน TRU E

สมมติว่าเราตรวจสอบแทนว่ามี “Steve” อยู่ในสตริงหรือไม่:

 #define character to look for
my_character <- "Steve"

#define string
my_string <- "Hey my name is Douglas"

#check if "Steve" is in string
grepl(my_character, my_string, fixed= TRUE )

[1] FALSE

เนื่องจากไม่มี “Steve” ในสตริง ฟังก์ชัน grepl() จึงส่งคืน FALSE

ตัวอย่างที่ 2: ตรวจสอบว่าอักขระอยู่ในสตริงโดยใช้แพ็คเกจ stringr หรือไม่

รหัสต่อไปนี้แสดงวิธีใช้ฟังก์ชัน str_detect() ของแพ็คเกจ stringr เพื่อตรวจสอบว่าสตริง “Doug” มีอยู่ในสตริงใดสตริงหนึ่งหรือไม่:

 library (stringr)

#define character to look for
my_character <- "Doug"

#define string
my_string <- "Hey my name is Douglas"

#check if "Doug" is in string
str_detect(my_string, my_character)

[1] TRUE

ฟังก์ชัน str_detect() ส่งคืน TRUE เนื่องจาก “Doug” อยู่ในสตริง

โปรดทราบว่าเรายังสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อตรวจสอบว่ามีอักขระหลายตัวในสตริงหรือไม่:

 library (stringr)

#define vector of characters to look for
my_characters <- c("Doug", "Steve", "name", "He")

#define string 
my_string <- "Hey my name is Douglas"

#check if each character is in string
str_detect(my_string, my_characters)

[1] TRUE FALSE TRUE TRUE

จากผลลัพธ์เราจะเห็นได้ว่า:

  • “ดั๊ก” มีอยู่ในห่วงโซ่
  • “สตีฟ” ไม่มีอยู่ในช่อง
  • “ชื่อ” มีอยู่ในสตริง
  • “มัน” มีอยู่ในสตริง

ที่เกี่ยวข้อง: วิธีใช้ฟังก์ชัน str_detect() ใน R (3 ตัวอย่าง)

แหล่งข้อมูลเพิ่มเติม

บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการงานทั่วไปอื่นๆ ใน R:

วิธีลบอักขระตัวสุดท้ายออกจากสตริงใน R
วิธีค้นหาตำแหน่งอักขระในสตริงใน R
วิธีเลือกคอลัมน์ที่มีสตริงเฉพาะใน R

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *