วิธีใช้ฟังก์ชัน find ใน sas (พร้อมตัวอย่าง)


คุณสามารถใช้ฟังก์ชัน FIND ใน SAS เพื่อค้นหาตำแหน่งของสตริงย่อยที่เกิดขึ้นครั้งแรกในสตริง

ต่อไปนี้เป็นสองวิธีทั่วไปในการใช้คุณลักษณะนี้:

วิธีที่ 1: ค้นหาตำแหน่งของการเกิดขึ้นครั้งแรกของสตริง

 data new_data;
set original_data;
first_occurrence = find (variable_name, " string ");
run;

วิธีที่ 2: ค้นหาตำแหน่งของสตริงที่เกิดขึ้นครั้งแรก (ไม่สนใจตัวพิมพ์)

 data new_data;
    set original_data;
    first_occurrence = find (variable_name, " string ", " i ");
run ;

อาร์กิวเมนต์ “i” บอกให้ SAS ละเว้นตัวพิมพ์เมื่อค้นหาสตริงย่อย

ตัวอย่างต่อไปนี้แสดงวิธีใช้แต่ละวิธีกับชุดข้อมูลต่อไปนี้ใน SAS:

 /*create dataset*/
data original_data;
    input sentence $1-25;
    datalines ;
The fox ran fast
That is a quick FOX
This fox is a slow fox
The zebra is cool
;
run ;

/*view dataset*/
proc print data = original_data; 

ตัวอย่างที่ 1: ค้นหาตำแหน่งของสตริงที่เกิดขึ้นครั้งแรก

รหัสต่อไปนี้แสดงวิธีการค้นหาตำแหน่งของ “fox” ที่เกิดขึ้นครั้งแรกในแต่ละสายอักขระ:

 data new_data;
    set original_data;
    first_fox = find (phrase, " fox ");
run ; 

ต่อไปนี้เป็นวิธีการตีความผลลัพธ์:

  • สุนัขจิ้งจอก วิ่งเร็ว (เกิดครั้งแรกอยู่ในตำแหน่งที่ 5 )
  • มันเป็น FOX ที่รวดเร็ว (สตริงตัวพิมพ์เล็ก “fox” ไม่เคยปรากฏ)
  • สุนัขจิ้งจอก ตัวนี้เป็นสุนัขจิ้งจอกที่เชื่องช้า (ตัวแรกอยู่ในตำแหน่งที่ 6 )
  • ม้าลายเท่มาก (สาย “จิ้งจอก” ไม่เคยปรากฏ)

ตัวอย่างที่ 2: ค้นหาตำแหน่งของสตริงที่เกิดขึ้นครั้งแรก (ไม่สนใจตัวพิมพ์)

รหัสต่อไปนี้แสดงวิธีการค้นหาตำแหน่งของการเกิด “fox” ที่ไม่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ในแต่ละสายอักขระ:

 data new_data;
    set original_data;
    first_fox = find (phrase, " fox ", " i ");
run ; 

ต่อไปนี้เป็นวิธีการตีความผลลัพธ์:

  • สุนัขจิ้งจอก วิ่งเร็ว (เกิดครั้งแรกอยู่ในตำแหน่งที่ 5 )
  • เป็นการ F OX ที่รวดเร็ว (การเกิด “สุนัขจิ้งจอก” ครั้งแรกอยู่ที่ตำแหน่ง 17 )
  • สุนัขจิ้งจอก ตัวนี้เป็นสุนัขจิ้งจอกที่เชื่องช้า (ตัวแรกอยู่ในตำแหน่งที่ 6 )
  • ม้าลายเท่มาก (สาย “จิ้งจอก” ไม่เคยปรากฏ)

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

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

วิธีทำให้ข้อมูลเป็นมาตรฐานใน SAS
วิธีแทนที่อักขระในสตริงใน SAS
วิธีแทนที่ค่าที่หายไปด้วยศูนย์ใน SAS
วิธีลบรายการที่ซ้ำกันใน SAS

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

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