Функция isHighSurrogate
Функция isHighSurrogate
проверяет, является ли
указанный символ старшим суррогатным символом в UTF-16.
Старшие суррогаты используются для представления
символов Unicode за пределами Basic Multilingual Plane (BMP)
в диапазоне от U+10000 до U+10FFFF. Принимает параметр
типа Char
и возвращает Boolean
.
Импорт
import kotlin.text.isHighSurrogate
Синтаксис
fun Char.isHighSurrogate(): Boolean
Пример
Проверим, является ли символ 'A' старшим суррогатом:
val char: Char = 'A'
val res: Boolean = char.isHighSurrogate()
println(res)
Результат выполнения кода:
false
Пример
Проверим старший суррогатный символ:
val highSurrogate: Char = '\uD800'
val res: Boolean = highSurrogate.isHighSurrogate()
println(res)
Результат выполнения кода:
true
Пример
Проверим младший суррогатный символ:
val lowSurrogate: Char = '\uDC00'
val res: Boolean = lowSurrogate.isHighSurrogate()
println(res)
Результат выполнения кода:
false
Пример
Проверим несколько символов в строке:
val text: String = "A\uD800\uDC00B"
for (char in text) {
val isHigh: Boolean = char.isHighSurrogate()
println("Char '$char' is high surrogate: $isHigh")
}
Результат выполнения кода:
Char 'A' is high surrogate: false
Char '?' is high surrogate: true
Char '?' is high surrogate: false
Char 'B' is high surrogate: false
Пример
Использование функции для обработки суррогатных пар:
val text: String = "Hello\uD83D\uDE00World"
var i: Int = 0
while (i < text.length) {
val char: Char = text[i]
if (char.isHighSurrogate()) {
println("Found high surrogate at position $i")
i += 2
} else {
println("Regular character at position $i: $char")
i++
}
}
Результат выполнения кода:
Regular character at position 0: H
Regular character at position 1: e
Regular character at position 2: l
Regular character at position 3: l
Regular character at position 4: o
Found high surrogate at position 5
Regular character at position 7: W
Regular character at position 8: o
Regular character at position 9: r
Regular character at position 10: l
Regular character at position 11: d
Смотрите также
-
функцию
isLowSurrogate
,
которая проверяет, является ли символ младшим суррогатом -
функцию
isSurrogate
,
которая проверяет, является ли символ суррогатом любого типа -
функцию
isLetter
,
которая проверяет, является ли символ буквой -
функцию
isDigit
,
которая проверяет, является ли символ цифрой