Я пытаюсь распечатать предложения из кадра данных, который содержит слова с одним символом, независимо от того, где он находится в начале или в середине предложения, проблема в том, что мой код отлично работает для сценария Engli sh, но когда Я изменяю надписи, скажем, на арабский c, он печатает неправильный вывод всех предложений вместо желаемого вывода, в котором есть одна буква.
tdata = pd.read_csv(fileinput, nrows=0).columns[0]
skip = int(tdata.count(' ') == 0)
tdata = pd.read_csv(fileinput, names=['sentences'], skiprows=skip)
df = tdata[dftdata'sentences'].str.contains(r'\b\w{1}\b')]
print(df)
a sample set
-----------------------------
#هلو كيفك م هي اخباركم
#ج ليش اتاخرت اليوم
#هو كلش نذل
#ترا اني كلش حباب ذ
#باب المدرسة ب مفتوح
#الحمدالله الكل بخير
#كم نَحنُ كبار مع هذا نعتمد على والدنا في مصروفنا
#كم نَحنُ كبار مع هذا لا تعرف كيفَ نتحدث بطريقة لائقة في المجلس
#كم نَحنُ كبار مع هذا لا نعرف كيفَ نعبر الشارِع بمفردنا
#هل اهتممتم بوالدتكم انها مسكينة قد لاحظت انها متعبة جداً ً
#كفاكُن كلام اذهبن ادرسن َ اجتهدن
#لِمَ لا تجففن مستحضر (طين البحر الميت ) قبل أن تستخدمنه ُ
# ادرسن َ
# أعشقك ِ
#هل ً
-----------------------------
expected output
-----------------------------
#هلو كيفك م هي اخباركم
#ج ليش اتاخرت اليوم
#ترا اني كلش حباب ذ
#باب المدرسة ب مفتوح
-----------------------------
Почему этот код не работает для сценария Arabi c, аналогичного Engli sh one?
Я также попробовал другой метод, который не работал
tdata.loc[tdaTa.sentences.str.contains(r"([^\w]|^)\w([^\w]|$)")]
Не можем ли мы создать массив букв, которые мы хотим, как (ذ ب ا م ك خ ح), и когда они встречаются в предложении в одиночку, это предложение не будет намного лучше и меньше головной боли?