Sas: كيفية إزالة الفواصل من السلسلة
أسهل طريقة لإزالة الفواصل من سلسلة في SAS هي استخدام الدالة TRANSLATE ، التي تحول كل تكرار لحرف إلى حرف آخر.
للقيام بذلك، يمكنك استخدام بناء الجملة الأساسي التالي:
data new_data;
set original_data;
string_var = compress ( translate (string_var,"",','));
run ;
يزيل هذا المثال المحدد كل فاصلة من كل سلسلة من متغير string_var في مجموعة البيانات.
يوضح المثال التالي كيفية استخدام بناء الجملة هذا عمليًا.
مثال: إزالة الفواصل من سلسلة في SAS
لنفترض أن لدينا مجموعة البيانات التالية في SAS والتي تحتوي على معلومات حول فرق كرة السلة المختلفة:
/*create dataset*/
data my_data;
input team $points;
datalines ;
,Mavs, 113
Pacers 95
,Ca,vs 120
Lakers 114
Heat 123
King,s 119
Raptors 105
,Hawks 95
Ma,gic 103
Spu,,rs 119
;
run ;
/*view dataset*/
proc print data =my_data;
لاحظ أن عدة سلاسل في عمود الفريق تحتوي على فواصل في أماكن مختلفة.
يمكننا استخدام الصيغة التالية لإزالة جميع الفواصل من السلاسل الموجودة في عمود الفريق :
/*create new dataset where commas are removed from each string in team column*/
data new_data;
set my_data;
team = compress ( translate (team,"",','));
run ;
/*view new dataset*/
proc print data =new_data;
لاحظ أنه تمت إزالة الفواصل من كل سلسلة في عمود الفريق .
إليك ما فعله هذا الرمز بالفعل:
- تم استبدال كل وظيفة ترجمة بفاصلة بمسافة فارغة.
- ثم تقوم الدالة COMPRESS بإزالة المسافة البيضاء من كل سلسلة.
ملاحظة : يمكنك العثور على الوثائق الكاملة لوظيفة SAS TRANSLATE هنا .
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في SAS:
كيفية استخراج الأرقام من سلسلة في SAS
كيفية استخدام الدالة SUBSTR في SAS
كيفية إزالة الأحرف الخاصة من السلاسل في SAS