Как узнать, какой CharacterSet содержит данный символ?

Есть ли способ проверить, принадлежит ли персонаж CharacterSet?

Я хочу знать что CharacterSet я должен использовать для характера -, Я использую symbols?

Я проверил эту документацию, но до сих пор не знаю. https://developer.apple.com/documentation/foundation/characterset

При удалении лишних пробелов в конце строки мы делаем это так:

let someString = " "
print("\(11111) - \(someString)".trimmingCharacters(in: .whitespaces))

Но что, если я просто хочу удалить -? Или любой специальный символ, такой как *?

РЕДАКТИРОВАТЬ: я искал полный набор символов для каждого CharacterSet если это возможно.

1 ответ

Решение

То, что вы хотите, определяется в стандарте Unicode. Это называется общими категориями Unicode. Каждый символ Юникода находится в категории.

На веб-сайте Unicode представлен полный список символов с указанием кода, категории и имени персонажа. Вы также можете найти полный список категорий Unicode.

- U+2D (ГИФЕН-МИНУС). Он указан в категории "Pd" (пунктуация).

Если вы посмотрите на документацию для CharacterSet, ты увидишь punctuationCharacters который задокументирован как:

Возвращает набор символов, содержащий символы в общей категории Unicode P*.

Категория "Pd" включена в "P*" (что означает любую категорию "P").

Я также нашел https://www.compart.com/en/unicode/category который представляет собой сторонний список каждого персонажа по категории. Чуть более удобен для пользователя, чем ссылка на Unicode.

Подвести итоги. Если вы хотите знать, какие CharacterSet чтобы использовать для данного персонажа, ищите категорию персонажа, используя одну из диаграмм, которые я связал. Как только вы знаете его категорию, посмотрите на документацию для CharacterSet чтобы увидеть, какой предопределенный набор символов относится к этой категории.

Другие вопросы по тегам