Elixir語言中 String.next_codepoint
相關用法介紹如下。
用法:
next_codepoint(arg)
@spec next_codepoint(t()) :: {codepoint(), t()} | nil
返回字符串中的下一個代碼點。
結果是一個元組,其中包含代碼點和字符串的其餘部分或nil
,以防字符串到達末尾。
與
模塊中的其他函數一樣,String
適用於無效 UTF-8 的二進製文件。如果字符串以在 UTF-8 編碼中無效的字節序列開頭,則返回的元組的第一個元素是具有第一個字節的二進製文件。next_codepoint/1
例子
iex> String.next_codepoint("olá")
{"o", "lá"}
iex> invalid = "\x80\x80OK" # first two bytes are invalid in UTF-8
iex> {_, rest} = String.next_codepoint(invalid)
{<<128>>, <<128, 79, 75>>}
iex> String.next_codepoint(rest)
{<<128>>, "OK"}
與二進製模式匹配的比較
二進製模式匹配提供了一種類似的方式來分解字符串:
iex> <<codepoint::utf8, rest::binary>> = "Elixir"
"Elixir"
iex> codepoint
69
iex> rest
"lixir"
雖然不完全等效,因為codepoint
是一個整數,並且該模式不會匹配無效的 UTF-8。
但是,二進製模式匹配更簡單、更有效,因此請選擇更適合您的用例的選項。
相關用法
- Elixir String.next_grapheme用法及代碼示例
- Elixir String.normalize用法及代碼示例
- Elixir String.contains?用法及代碼示例
- Elixir String.reverse用法及代碼示例
- Elixir String.to_integer用法及代碼示例
- Elixir String.pad_trailing用法及代碼示例
- Elixir String.split_at用法及代碼示例
- Elixir String.valid?用法及代碼示例
- Elixir String.replace_prefix用法及代碼示例
- Elixir String.printable?用法及代碼示例
- Elixir String.replace_trailing用法及代碼示例
- Elixir String.trim_leading用法及代碼示例
- Elixir String.length用法及代碼示例
- Elixir String.replace_suffix用法及代碼示例
- Elixir String.first用法及代碼示例
- Elixir String.upcase用法及代碼示例
- Elixir String.graphemes用法及代碼示例
- Elixir String.at用法及代碼示例
- Elixir String.replace用法及代碼示例
- Elixir String.myers_difference用法及代碼示例
- Elixir String.trim_trailing用法及代碼示例
- Elixir String.ends_with?用法及代碼示例
- Elixir String.downcase用法及代碼示例
- Elixir String.equivalent?用法及代碼示例
- Elixir String.slice用法及代碼示例
注:本文由純淨天空篩選整理自elixir-lang.org大神的英文原創作品 String.next_codepoint(arg)。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。