Elixir語言中 String.slice
相關用法介紹如下。
用法一
slice(string, range)
@spec slice(t(), Range.t()) :: t()
返回從範圍開始給定的偏移量到範圍結束給定的偏移量的子字符串。
如果範圍的開始不是給定字符串的有效偏移量,或者範圍的順序相反,則返回 ""
。
如果範圍的開始或結束為負,則首先遍曆整個字符串,以便將負索引轉換為正索引。
請記住,此函數適用於 Unicode 字形,並考慮切片來表示字形偏移。如果要拆分原始字節,請改為檢查
。Kernel.binary_part/3
例子
iex> String.slice("elixir", 1..3)
"lix"
iex> String.slice("elixir", 1..10)
"lixir"
iex> String.slice("elixir", -4..-1)
"ixir"
iex> String.slice("elixir", -4..6)
"ixir"
對於 start > stop
的範圍,您需要將它們顯式標記為增加:
iex> String.slice("elixir", 2..-1//1)
"ixir"
iex> String.slice("elixir", 1..-2//1)
"lixi"
如果值超出範圍,則返回一個空字符串:
iex> String.slice("elixir", 10..3)
""
iex> String.slice("elixir", -10..-7)
""
iex> String.slice("a", 0..1500)
"a"
iex> String.slice("a", 1..1500)
""
用法二
slice(string, start, length)
@spec slice(t(), integer(), non_neg_integer()) :: grapheme()
返回從偏移量 start
和給定 length
開始的子字符串。
如果偏移量大於字符串長度,則返回 ""
。
請記住,此函數適用於 Unicode 字形,並考慮切片來表示字形偏移。如果要拆分原始字節,請改為檢查
。Kernel.binary_part/3
例子
iex> String.slice("elixir", 1, 3)
"lix"
iex> String.slice("elixir", 1, 10)
"lixir"
iex> String.slice("elixir", 10, 3)
""
iex> String.slice("elixir", -4, 4)
"ixir"
iex> String.slice("elixir", -10, 3)
""
iex> String.slice("a", 0, 1500)
"a"
iex> String.slice("a", 1, 1500)
""
iex> String.slice("a", 2, 1500)
""
相關用法
- Elixir String.split_at用法及代碼示例
- Elixir String.splitter用法及代碼示例
- Elixir String.split用法及代碼示例
- Elixir String.starts_with?用法及代碼示例
- Elixir String.contains?用法及代碼示例
- Elixir String.reverse用法及代碼示例
- Elixir String.to_integer用法及代碼示例
- Elixir String.pad_trailing用法及代碼示例
- 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.next_grapheme用法及代碼示例
- Elixir String.next_codepoint用法及代碼示例
- Elixir String.myers_difference用法及代碼示例
- Elixir String.trim_trailing用法及代碼示例
- Elixir String.normalize用法及代碼示例
注:本文由純淨天空篩選整理自elixir-lang.org大神的英文原創作品 String.slice(string, range)。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。