用法:
Unicode.normalize(s::AbstractString; keywords...)
Unicode.normalize(s::AbstractString, normalform::Symbol)
規範化字符串 s
。默認情況下,規範組合 (compose=true
) 在不確保 Unicode 版本控製穩定性 (compat=false
) 的情況下執行,這會生成盡可能短的等效字符串,但可能會引入早期 Unicode 版本中不存在的組合字符。
或者,可以指定 Unicode 標準的四個 "normal forms" 之一:normalform
可以是 :NFC
、 :NFD
、 :NFKC
或 :NFKD
。範式 C(規範組合)和 D(規範分解)將同一抽象字符串的不同視覺上相同的表示轉換為單個規範形式,形式 C 更緊湊。範式 KC 和 KD 還規範化了 "compatibility equivalents":它們將抽象相似但視覺上不同的字符轉換為單個規範選擇(例如,它們將連字擴展為單個字符),而 KC 形式更緊湊。
或者,可以通過調用 Unicode.normalize(s; keywords...)
來獲得更精細的控製和額外的轉換,其中指定了任意數量的以下布爾關鍵字選項(除了 compose
之外,所有這些選項都默認為 false
):
compose=false
:不執行規範合成decompose=true
:進行規範分解而不是規範組合(如果存在,則忽略compose=true
)compat=true
:兼容性等價物被規範化casefold=true
:執行 Unicode 大小寫折疊,例如用於不區分大小寫的字符串比較newline2lf=true
、newline2ls=true
或newline2ps=true
:將各種換行符序列(LF、CRLF、CR、NEL)分別轉換為換行符 (LF)、line-separation (LS) 或 paragraph-separation (PS) 字符stripmark=true
:去除變音符號(例如重音符號)stripignore=true
:去除 Unicode 的 "default ignorable" 字符(例如軟連字符或從左到右的標記)stripcc=true
:去除控製字符;水平製表符和換頁符轉換為空格;除非指定了 newline-conversion 標誌,否則換行符也會轉換為空格rejectna=true
:如果找到未分配的代碼點,則拋出錯誤stable=true
:強製 Unicode 版本控製穩定性(永遠不要引入早期 Unicode 版本中缺少的字符)
例如,NFKC 對應於選項 compose=true, compat=true, stable=true
。
例子
julia> "é" == Unicode.normalize("é") #LHS: Unicode U+00e9, RHS: U+0065 & U+0301
true
julia> "μ" == Unicode.normalize("µ", compat=true) #LHS: Unicode U+03bc, RHS: Unicode U+00b5
true
julia> Unicode.normalize("JuLiA", casefold=true)
"julia"
julia> Unicode.normalize("JúLiA", stripmark=true)
"JuLiA"
相關用法
- Julia Unicode.ispunct用法及代碼示例
- Julia Unicode.uppercase用法及代碼示例
- Julia Unicode.iscntrl用法及代碼示例
- Julia Unicode.isletter用法及代碼示例
- Julia Unicode.isdigit用法及代碼示例
- Julia Unicode.lowercase用法及代碼示例
- Julia Unicode.islowercase用法及代碼示例
- Julia Unicode.isassigned用法及代碼示例
- Julia Unicode.textwidth用法及代碼示例
- Julia Unicode.isprint用法及代碼示例
- Julia Unicode.titlecase用法及代碼示例
- Julia Unicode.isxdigit用法及代碼示例
- Julia Unicode.isuppercase用法及代碼示例
- Julia Unicode.lowercasefirst用法及代碼示例
- Julia Unicode.isnumeric用法及代碼示例
- Julia Unicode.isspace用法及代碼示例
- Julia Unicode.uppercasefirst用法及代碼示例
- Julia Union{}用法及代碼示例
- Julia UnitRange用法及代碼示例
- Julia UUIDs.uuid4用法及代碼示例
- Julia UUIDs.uuid_version用法及代碼示例
- Julia UUIDs.uuid5用法及代碼示例
- Julia UUIDs.uuid1用法及代碼示例
- Julia splice!用法及代碼示例
- Julia @cfunction用法及代碼示例
注:本文由純淨天空篩選整理自julialang.org 大神的英文原創作品 Unicode.normalize — Function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。