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

Add a Comment

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