Sas: วิธีแยกสตริงย่อยที่ถูกต้อง


คุณสามารถใช้ฟังก์ชัน SUBSTR ใน SAS เพื่อแยกส่วนของสตริงได้

ฟังก์ชันนี้ใช้ไวยากรณ์พื้นฐานต่อไปนี้:

SUBSTR(แหล่งที่มา, ตำแหน่ง, N)

ทอง:

  • ที่มา : ช่องทางการวิเคราะห์
  • Position : ตำแหน่งเริ่มต้นในการอ่าน
  • N : จำนวนตัวอักษรที่จะอ่าน

ค่าของอาร์กิวเมนต์ Position ระบุตำแหน่งเริ่มต้นทาง ด้านซ้ายของสตริง

หากต้องการระบุตำแหน่งเริ่มต้นทาง ด้านขวาของสตริง แทน คุณสามารถใช้ไวยากรณ์ต่อไปนี้:

 data new_data;
    set original_data;
    last_three = substr (team , length (team) -2,3 );
run ;

ตัวอย่างนี้สร้างตัวแปรใหม่ที่เรียกว่า Last_three ซึ่งจะแยกอักขระสามตัวสุดท้ายทางด้านขวาของตัวแปรสตริงที่เรียกว่า team

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

ตัวอย่าง: แยกสตริงย่อยจาก Right ใน SAS

สมมติว่าเรามีชุดข้อมูลต่อไปนี้ใน SAS ที่มีข้อมูลเกี่ยวกับทีมบาสเก็ตบอลต่างๆ:

 /*create dataset*/
data original_data;
    input team $points;
    datalines ;
Mavericks 104
Thunder 99
Rockets 116
Spurs 98
Pistons 99
Pelicans 105
Warriors 119
Blazers 113
Nuggets 100
Kings 123
;
run ;

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

เราสามารถใช้โค้ดต่อไปนี้เพื่อแยกอักขระ 3 ตัวสุดท้ายออกจากตัวแปร ทีม :

 /*create new dataset*/
data new_data;
    set original_data;
    last_three = substr (team , length (team) -2,3 );
run ;

/*view new dataset*/
proc print data = new_data; 

โปรดทราบว่าคอลัมน์ชื่อ Last_three มีอักขระสามตัวสุดท้ายของคอลัมน์ ทีม

นอกจากนี้เรายังสามารถเปลี่ยนค่าของฟังก์ชัน SUBSTR ได้อย่างง่ายดายเพื่อแยกอักขระจำนวนอื่นออกจากด้านขวาของสตริง

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

 /*create new dataset*/
data new_data;
    set original_data;
    last_five = substr (team , length (team) -4,5 );
run ;

/*view new dataset*/
proc print data = new_data; 

โปรดทราบว่าคอลัมน์ชื่อ Last_five มีอักขระห้าตัวสุดท้ายของคอลัมน์ ทีม

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

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

SAS: วิธีแทนที่อักขระในสตริง
SAS: วิธีลบเครื่องหมายจุลภาคออกจากสตริง
SAS: วิธีแยกตัวเลขออกจากสตริง

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

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