У меня есть это слово документ
Вы можете создать его вручную или загрузить с http://ge.tt/8zgZScd2 с помощью Firefox (хром блокирует этот сайт без веской причины). Или вы можете скачать его здесь
Вы видите четыре выделенных набора символов.
Первый - иврит, затем английский, в режиме слева направо. (Режим LTR)
Второй третий и четвертый, английский, а затем иврит, в режиме справа налево. (Режим RTL)
Я использую Ctrl с левым смещением, чтобы перейти в режим LTR, и Ctrl с правым смещением, чтобы перейти в режим RTL.
Буквы на иврите, например, Юникод \u05D0
א
но подойдут любые.
Вот найди и замени
Таким образом, в разделе «найти», я вставил, чтобы найти выделенный текст. (эта опция существует, если щелкнуть по кнопке format..highlight в левом нижнем углу этого диалогового окна)
В разделе замены я написал XXX^&XXX
в виде слова MS ^&
- это способ сказать, что большинство из них назвали бы \0
то есть текст, который был найден. Поэтому мой поиск и замена должны найти выделенный текст и сохранить его, но поставить XXX до и после него.
Вот результат того, что найти / заменить
Как видите, первый сработал. Это иврит, затем английский и режим LTR.
Второй третий и четвертый провалились. Это те, которые с английским, а затем ивритом в режиме справа налево.
Я хотел бы, чтобы поиск / замена работали для последних трех, то есть для тех, кто второй третий и четвертый, с английским языком, а затем ивритом в режиме справа налево.
добавленной
Это выглядело так, словно он оборачивал XXX вокруг иврита, но не было понятно, почему. Хотя это не то, что происходит / как / почему это происходит.
Скотт предлагает использовать замещающую строку FOO ^ & BAR, чтобы попытаться определить больше того, что происходит в целях устранения неполадок, и это действительно проясняет, что происходит. Если у вас есть אאאabc
в режиме LTR, и вы заменили его на FOO^&BAR
ms ms увидит это и покажет как FOOאאאabcBAR
что все в порядке. Если вы переведете это в режим RTL, это не сделает FOOabcאאאBAR
или BARabcאאאFOO
. Это делает abcBARאאאFOO
(то есть он смешал в нем FOO BAR). Что он делает, и я полагаю, что никто не может упустить слово за это, он видит abcBAR как кусок. Точно так же (и более ясно), если у вас есть abcאאא
в RTL и вы заменяете его на FOO^&BAR
то он заменяет его на abcBARאאאFOO
потому что конец, если где abc находится, и конец abc следует после 'c', поэтому вставляет БАР там. Я подумаю, что делать с этим, но это то, что происходит. Может быть, есть какой-нибудь символ с нулевым ивритом или справа налево, который я могу поставить после 'c', чтобы это "исправить", чтобы я мог обернуть FOO ..Бар вокруг него.