Как проверить, действительно ли символ нулевой ширины используется в строке в C#?C#

Место общения программистов C#
Ответить
Anonymous
 Как проверить, действительно ли символ нулевой ширины используется в строке в C#?

Сообщение Anonymous »

В следующей строке: < /p>
ප්‍රන
< /code>
символ нулевой ширины U200D используется для соединения двух символов. Вы можете проверить наличие этого символа в https://www.babelstone.co.uk/unicode/whatisit.html
Если символ удаляется, два других символа вокруг него t присоединился и поэтому выглядит так: < /p>
ප්රන

Однако один и тот же символ и другой аналогичный символ U200C могут использоваться в местах, где он не нужен, чтобы просто увеличить количество символов без видимых символов или ничего. /> Как проверить, делают ли символы U200C и U200D что -то (соединяя два символа вокруг него) или просто сидят там, ничего не делая? Не работа: < /p>
static void IsNeeded(string input)
{
bool hasZWJ = input.Contains('\u200D');
if (hasZWJ)
{
int index = input.IndexOf('\u200D');
if (index > 0 && Char.IsHighSurrogate(input[index + 1]))
{
Console.WriteLine($"{input}:The ZWJ character is used to join characters together");
}
else
{
Console.WriteLine($"{input}:The ZWJ character is not needed in the string");
}
}
}


Подробнее здесь: https://stackoverflow.com/questions/790 ... tring-in-c
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»