string
一串 Unicode 代码点(codepoints)。
你可以使用 for 循环遍历字符串的字符簇(grapheme clusters)。
字符簇基本上是字符,但它们将属于一起的内容保持在一起,例如多个代码点一起形成一个国旗表情符号。
字符串可以使用 +
运算符相加,连接在一起,并与整数相乘。
Typst 提供了用于字符串操作的实用方法。
其中许多方法(例如 split
, trim
和 replace
)操作模式:模式可以是字符串或正则表达式。
这使得这些方法非常灵活。
所有长度和索引都以 UTF-8 字符为单位。 索引从零开始,负索引会回到字符串的末尾。
Example
#"hello world!" \
#"\"hello\n world\"!" \
#"1 2 3".split() \
#"1,2;3".split(regex("[,;]")) \
#(regex("\d+") in "ten euros") \
#(regex("\d+") in "10 euros")
转义序列
与标记语言类似,您可以在字符串中转义一些符号:
\\
代表反斜杠\"
代表引号\n
代表换行\r
代表回车\t
代表制表符\u{1f600}
代表一个十六进制 Unicode 转义序列
方法
方法是可用于该类型的一系列函数,可以使用 .
操作符调用它们。
.
操作符调用它们。len
method
字符串在UTF-8编码字节中的长度。
first
method
提取字符串的第一个字形簇。如果字符串为空,则会失败并显示错误。
last
method
提取字符串的最后一个字形簇。如果字符串为空,则会失败并显示错误。
at
method
提取指定索引后的第一个字形簇。 如果索引超出范围,则返回默认值;如果没有指定默认值,则会失败并显示错误。
index
字节索引。
default
如果索引超出范围,返回的默认值。
slice
method
提取字符串的子串。如果开始索引或结束索引超出范围,则会失败并显示错误。
start
起始字节索引(包含在内)。
end
结束字节索引(不包含在内)。如果省略,则提取整个字符串直到末尾。
count
要提取的字节数。这相当于将 start + count
作为结束位置。与 end
互斥。
clusters
method
将字符串的字形簇作为子字符串数组返回。
codepoints
method
将字符串的 Unicode 码点作为子字符串数组返回。
contains
method
判断字符串是否包含指定的模式。
该方法还有专门的语法:您可以使用 "bc" in "abcd"
代替 "abcd".contains("bc")
。
pattern
搜索的模式。
starts-with
method
判断字符串是否以指定的模式开始。
pattern
字符串可能开始的模式。
ends-with
method
判断字符串是否以指定的模式结尾。
pattern
字符串可能结尾的模式。
find
method
Searches for the specified pattern in the string and returns the first match
as a string or none
if there is no match.
pattern
The pattern to search for.
position
method
在字符串中搜索指定的模式,并返回第一个匹配项的索引,如果没有匹配项则返回 none
。
pattern
搜索的模式。
match
method
在字符串中搜索指定的模式,并返回一个包含第一个匹配项详细信息的字典,如果没有匹配项则返回 none
。
返回的字典具有以下键:
start
: 匹配项的起始偏移量end
: 匹配项的结束偏移量text
: 匹配的文本captures
: 一个数组,其中包含每个匹配的捕获组的字符串。 数组的第一项包含第一个匹配的捕获组,而不是整个匹配!除非pattern
是带有捕获组的正则表达式,否则此项为空。
pattern
搜索的模式。
matches
method
在字符串中搜索指定的模式,并返回一个包含所有匹配项详细信息的字典数组。有关返回的字典的详细信息,请参见上文。
pattern
搜索的模式。
replace
method
替换所有或指定数量的匹配项的模式为替换字符串,并返回结果字符串。
pattern
搜索的模式。
replacement
用于替换匹配项的字符串,或者一个函数,该函数会针对每个匹配项获取一个字典,并可以返回单独的替换字符串。
count
如果指定了 count
参数,只会替换模式的前 count
个匹配项。
trim
method
从字符串的一侧或两侧移除匹配模式的内容,可以选择一次性或重复操作,并返回结果字符串。
pattern
搜索的模式。
at
可以使用 start
或 end
来仅修剪字符串的开头或结尾。如果省略,则会修剪字符串的两侧。
repeat
决定是重复移除模式的匹配项还是只移除一次。默认为 true
。
split
method
将字符串按指定的模式进行分割,并返回结果部分的数组。
pattern
要进行分割的模式。默认为空格。