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)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。