Sas: كيفية استخراج سلسلة فرعية صحيحة


يمكنك استخدام الدالة SUBSTR في SAS لاستخراج جزء من السلسلة.

تستخدم هذه الوظيفة بناء الجملة الأساسي التالي:

SUBSTR(المصدر، الموضع، N)

ذهب:

  • المصدر : قناة التحليل
  • الموقف : موقف البداية للقراءة
  • N : عدد الأحرف المراد قراءتها

تحدد قيمة الوسيطة Position موضع البداية على يسار السلسلة .

لتحديد موضع البداية على يمين السلسلة بدلاً من ذلك، يمكنك استخدام الصيغة التالية:

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

ينشئ هذا المثال بالتحديد متغيرًا جديدًا يسمى last_three الذي يستخرج الأحرف الثلاثة الأخيرة الموجودة على يمين متغير السلسلة المسمى team .

يوضح المثال التالي كيفية استخدام بناء الجملة هذا عمليًا.

مثال: استخراج السلسلة الفرعية من اليمين في 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: كيفية استخراج الأرقام من سلسلة

Add a Comment

ایمئیل یایینلانمایاجاق ایسته‎نیله‎ن بوشلوقلار خاللانمیشدیر *