gpt4 book ai didi

elixir - 有没有办法匹配 Elixir 字符串中的前n个字符

转载 作者:行者123 更新时间:2023-12-04 13:57:32 29 4
gpt4 key购买 nike

如何匹配字符串中的前n个字符?就像是:

def take(n) do
head :: size(n) <> rest = "my string"
end

最佳答案

您可以使用模式匹配来获取第一个n字节:

iex(1)> n = 4
4
iex(2)> <<head :: binary-size(n)>> <> rest = "my string"
"my string"
iex(3)> head
"my s"
iex(4)> rest
"tring"

您无法使用单个模式获得第一个 n UTF-8代码点,因为UTF-8字符可以占据可变数量的字节,并且Elixir中的模式匹配不支持该模式。您可以在模式中使用 ::utf8获得第一个(或固定数量的)UTF-8代码点:
iex(1)> <<cp::utf8>> <> rest = "ƒoo"
"ƒoo"
iex(2)> cp
402
iex(3)> <<cp::utf8>>
"ƒ"
iex(4)> rest
"oo"

关于elixir - 有没有办法匹配 Elixir 字符串中的前n个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40817583/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com