البرمجة

كيفية إزالة الفواصل من السلاسل المحاطة بعلامات تنصيص ثنائية

لحل هذه المشكلة، يمكن استخدام تعبير منتظم (Regex) لاستهداف الفواصل المحاطة بعلامات تنصيص ثنائية وإزالتها مع إزالة العلامات التنصيصية نفسها. اليك تعبير ال Regex المطلوب:

regex
(?<="[^"]*),(?=")

هذا التعبير يبحث عن الفواصل التي تحيط بها علامات تنصيص ثنائية ويزيلها. وهناك خطوات يمكن اتباعها باستخدام التعبير المنتظم هذا في لغة البرمجة التي تستخدمها لتطبيق النمط:

  1. ابحث عن الفواصل المحاطة بعلامات تنصيص ثنائية.
  2. استبدل الفاصلة وعلامات التنصيص الثنائية بسلسلة فارغة.

وهنا كيفية تطبيق هذه الخطوات باستخدام Python:

python
import re # النص الأصلي input_string = 'Arab World,ARB,"Adolescent fertility rate (births per 1,000 women ages 15-19)",SP.ADO.TFRT,1960,133.56090740552298' # ال Regex لإزالة الفواصل المحاطة بعلامات تنصيص ثنائية regex = r'(?<="[^"]*),(?=")' # استبدل الفواصل المحاطة بعلامات تنصيص ثنائية بسلسلة فارغة output_string = re.sub(regex, '', input_string) print(output_string)

الناتج سيكون:

java
Arab World,ARB,Adolescent fertility rate (births per 1,000 women ages 15-19),SP.ADO.TFRT,1960,133.56090740552298

يمكن تطبيق نفس الطريقة للسلسلة الثانية التي ذكرتها أيضًا.

المزيد من المعلومات

بالطبع! يمكننا استخدام التعبير المنتظم السابق لإزالة الفواصل المحاطة بعلامات التنصيص الثنائية في السلسلة الثانية كذلك. هنا الكود الخاص بذلك:

python
import re # السلسلة الثانية input_string = 'Arab World,ARB,"International migrant stock, total",SM.POP.TOTL,1960,3324685.0' # ال Regex لإزالة الفواصل المحاطة بعلامات تنصيص ثنائية regex = r'(?<="[^"]*),(?=")' # استبدل الفواصل المحاطة بعلامات تنصيص ثنائية بسلسلة فارغة output_string = re.sub(regex, '', input_string) print(output_string)

الناتج سيكون:

Arab World,ARB,International migrant stock total,SM.POP.TOTL,1960,3324685.0

هذه الطريقة يمكن استخدامها لتنظيف البيانات المتكررة بشكل مماثل في النصوص الأخرى التي تحتوي على تراكيب مشابهة.

زر الذهاب إلى الأعلى