كيفية استخدام وظيفة prxchange في sas (مع أمثلة)
يمكنك استخدام الدالة PRXCHANGE في SAS لاستبدال نمط معين في سلسلة.
تستخدم هذه الوظيفة بناء الجملة الأساسي التالي:
PRXCHANGE (التعبير العادي، الأوقات، المصدر)
ذهب:
- التعبير العادي : التعبير العادي الذي يحدد النمط المراد البحث عنه
- times : عدد مرات الاستبدال للبحث عن النمط واستبداله (استخدم -1 لمواصلة استبدال النمط حتى الوصول إلى نهاية المصدر )
- المصدر : اسم المتغير المراد البحث عنه
توضح الأمثلة التالية طريقتين شائعتين لاستخدام هذه الوظيفة عمليًا مع مجموعة البيانات التالية في SAS:
/*create dataset*/
data my_data;
input phrase $char40. ;
datalines ;
This is a cool name
That is a cool cool zebra
Oh hey there
Oh cool it's a cool-looking dog
Well now that is COOL
;
run ;
/*view dataset*/
proc print data =my_data;
مثال 1: استخدم PRXCHANGE لاستبدال النمط الموجود في السلسلة بنمط جديد
يوضح التعليمة البرمجية التالية كيفية استخدام الدالة PRXCHANGE لإنشاء عمود جديد يسمى new_phrase الذي يستبدل كل تكرار لـ “cool” بـ “fun” في عمود العبارة :
/*create new dataset*/
data new_data;
set my_data;
new_phrase = prxchange ('s/cool/fun/i', -1, phrase);
run ;
/*view new dataset*/
proc print data = new_data;
لاحظ أنه تم استبدال كل مثيل لكلمة “رائع” بكلمة “مرح”.
لاحظ أننا استخدمنا s في التعبير العادي لتحديد أننا أردنا إجراء استبدال واستخدمنا i لتحديد أنه لا ينبغي أن يكون حساسًا لحالة الأحرف.
مثال 2: استخدم PRXCHANGE لاستبدال النمط الموجود في السلسلة بمسافة فارغة
يوضح التعليمة البرمجية التالية كيفية استخدام الدالة PRXCHANGE لإنشاء عمود جديد يسمى new_phrase الذي يستبدل كل تكرار لكلمة “cool” بمسافة في عمود العبارة :
/*create new dataset*/
data new_data;
set my_data;
new_phrase = prxchange ('s/cool//i', -1, phrase);
run ;
/*view new dataset*/
proc print data = new_data;
لاحظ أنه تم استبدال كل ظهور لكلمة “رائع” بمسافة.
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في SAS:
كيفية استخراج الأرقام من سلسلة في SAS
كيفية إزالة الفواصل من سلسلة في SAS
كيفية تقسيم السلاسل حسب المحدد في SAS