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
要进行分割的模式。默认为空格。