المساعدة مع البحث واستبدال Regex
-
19-09-2019 - |
سؤال
لدي ملف نصي، وكل سطر من النموذج:
علامة التبويب كلمة تبويب علامة التبويب pos freq #
Word PoS Freq
the Det 61847
of Prep 29391
and Conj 26817
a Det 21626
in Prep 18214
to Inf 16284
it Pron 10875
is Verb 9982
to Prep 9343
was Verb 9236
I Pron 8875
for Prep 8412
that Conj 7308
you Pron 6954
هل سيساعدني أحد معالجات regex واحدة في عزل الكلمات من الملف؟ سأقوم بتجد واستبداله في نصوص الفصالة، ونأمل أن يكون ذلك. العثور على متعددة واستبداله على ما يرام. شيء واحد: لاحظ أن البحث عن "الفعل" سيحدد أيضا كلمة "الفعل"، وليس فقط جزء الكلام، لذلك كن حذرا. في النهاية أريد أن ينتهي بك الأمر مع كلمة واحدة لكل سطر.
شكرا جزيلا!
المحلول
أعتقد أن Microsoft Excel يمكن أن تساعدك على أفضل ...
ما عليك سوى نسخ النص بأكمله على Excel وسيتم تنسيقه كجدول ثم انتقل إلى الأمام وحدد خلايا الأعمدة المناسبة للكلمة، وأخيرا انسخها على المفكرة.
أراهن أن هذا هو أسهل المسار.
إذا كنت في حالة تخزين Excel جميع القيم في عمود واحد، في عمود منفصل استخراج الكلمة حسب:
= تقليم (يسار (C1، MAXCHAR))
نصائح أخرى
يمكنك فقط استخدام awk
لإزالة العمود الأول، كما هو الحال في
awk '{print $1}' /path/to/filename
تخطي السطر الأول باستخدام
awk 'NR!=1 {print $1}' /path/to/filename
ليس هناك أي حاجة حقا لاستخدام تعبير منتظم لهذا. على سبيل المثال، يمكنك استخدام cut
:
cut -f1 <inputfile
شيء مثل \s*([a-zA-z]+)\s*([a-zA-z]+)
سوف يعيد الكلمة و نقاط البيع كجموعات. يمكنك بعد ذلك استخدامها في عبارة استبدال ك 1 دولار و 2 دولار للإخراج كما تريد.
إذا كنت تريد فقط جزء الكلمة، يمكنك فقط استخدام 1 دولار في الاستبدال.