لحفظ القيم بين حرفي “Kr” والفاصلة، يمكنك استخدام تقنية تسمى “regular expressions” في Python. في هذه الحالة، يمكنك استخدام الرمز التالي للعثور على الأرقام بين “Kr” والفاصلة:
pythonimport re
text = "N-05-0040(119) f 2005 svart hp Ml:153 - 160 - 20 - 75 Tot 31- 3- 3- 6- 13 (4)29,7M - (4)28,2aK Kr 204.500, 2pr 2010, Trener: Ole Olesen"
numbers = re.findall(r"Kr (\d+.\d+),", text)
print(numbers)
هذا الكود يستخدم re.findall
للعثور على جميع الأرقام (\d+.\d+
) بين “Kr” والفاصلة، ثم يخزنها في قائمة. ستكون القائمة الناتجة في هذه الحالة ['204.500']
.
-
كيف تحترف العمل الحر دون أن تبيع نفسك26/10/2023
-
تحويل أعمدة DataFrame في Pandas18/03/2024
المزيد من المعلومات
بالطبع! الرمز الذي استخدمته في الشرح السابق (\d+.\d+
) يستخدم للبحث عن أي عدد يتكون من أرقام (\d+
) متبوعًا بنقطة (.
) وثم أرقام (\d+
). ومع ذلك، هذا الرمز قد لا يكون كافيًا إذا كانت الأرقام تحتوي على فواصل أو نقاط أخرى.
للتعامل مع هذا، يمكنك استخدام الرمز التالي للبحث عن الأرقام بين “Kr” والفاصلة بشكل أفضل:
pythonimport re
text = "N-05-0040(119) f 2005 svart hp Ml:153 - 160 - 20 - 75 Tot 31- 3- 3- 6- 13 (4)29,7M - (4)28,2aK Kr 204.500, 2pr 2010, Trener: Ole Olesen"
numbers = re.findall(r"Kr ([\d.,]+),", text)
print(numbers)
هذا الرمز ([\d.,]+
) يبحث عن أي مجموعة من الأرقام والنقاط والفواصل (\d
, .
، ,
) بين “Kr” والفاصلة، ويخزنها في القائمة. ستكون القائمة الناتجة في هذه الحالة ['204.500']
.
يمكنك أيضًا استخدام دالة float
لتحويل القيم الناتجة إلى أعداد عشرية لاستخدامها في الحسابات، على سبيل المثال:
pythonkr_value = float(numbers[0].replace(",", ".")) if numbers else 0.0
print(kr_value)
هذا الكود يحول القيمة المسترجعة من re.findall
إلى عدد عشري ويحل محل الفاصلة بالنقطة، ثم يقوم بطباعة القيمة.