Как python обрабатывает и печатает строки, содержащие языки RTL и LTR? - PullRequest
5 голосов
/ 04 августа 2020

Я искал в Интернете и спрашивал людей об этой теме, но я действительно не получил удовлетворительного ответа, позвольте мне объяснить мою проблему здесь с помощью python.

скажем, у меня есть эта строка:

a = 'حصل طالب على (80) في (something) واجتاز الشرط بنجاح'

приведенная выше строка должна выглядеть так:

b = 'واجتاز الشرط بنجاح (something) حصل طالب على (80) في'

, потому что она начинается с ( حصل ) и заканчивается ( بنجاح )

имейте в виду, что содержимое переменной a записано по порядку и правильно, но python SADLY печатает так, как видит, поэтому вывод будет некорректным, хотя написание было правильным, оно было перевернуто, когда ( (что-то) ) попало в строку, поэтому содержимое переменной b - это обходной метод для получения текста в правильной форме, хотя он был написан неправильно и не в том порядке, в котором это должно быть написано!

Теперь вы можете сказать: «Тогда о чем вы болтаете, если вы нашли способ заставить его работать ?!: S», ну как я обнаружил способ привести текст в форму, хорошо выглядеть и adable, я обнаружил, что python имеет больше, чем «python печатает то, что видит» python на самом деле ведет себя очень странно, когда пытается напечатать двунаправленную строку, он буквально прыгает по строке, чтобы распечатайте его, у него нет начальной и конечной точек (имеется в виду печать справа налево или слева направо), возьмем переменную b строку, например:

вместо печатая строку справа как начальную точку слева как конечную точку (как и должно быть),

python сначала напечатает ( واجتاز الشرط بنجاح ), затем ( (что-то) ) второе, затем ( حصل طالب على (80) في ) третье, и последняя напечатанная строка будет ( واجتاز الشرط بنجاح (что-то) حصل طالب على ( 80) في ), что даст вам иллюзию, что python напечатал вашу строку, как вы ее видите (справа налево)

теперь, когда вы понимаете всю ситуацию, я собираюсь вам сказать что мне нужно * 105 3 * to do, который печатает строку в порядке, как это делает java, используя переменную a , которая является правильной записанной переменной, но, как я объяснил выше, python недостаточно умен, чтобы делать то, что он should (java знает, где вы начали свою строку и где вы ее закончили, и использует эти две точки для вывода вашей строки на удивление верной и правильной).

пожалуйста, помогите :)

...