pub trait SortZh {
fn sort_zh(&self, options: SortZhOptions) -> Vec<&str>;
}Required Methods
sourcefn sort_zh(&self, options: SortZhOptions) -> Vec<&str>
fn sort_zh(&self, options: SortZhOptions) -> Vec<&str>
中文排序
use chinese_number::ChineseVariant::Traditional;
use sort_zh::{SortZh, SortZhOptions, UpperCaseOrder::*, ZhNumberOption::*};
let test = vec!["肆", "1", "一", "2", "二", "參", "正", "十二測試", "拾貳測試", "貳拾測試", "拾測試二", "十測試二"];
// 僅透過ICU規範的Collate進行排序
assert_eq!(test.sort_zh(SortZhOptions::default()), vec!["1", "2", "一", "二", "十二測試", "十測試二", "正", "拾測試二", "拾貳測試", "參", "貳拾測試", "肆"]);
// 中文數字部分使用中文代表的含義進行排序(不分大小寫),其他中文字透過ICU規範的Collate進行排序
assert_eq!(test.sort_zh(SortZhOptions { variant: Traditional, zh_number_option: Definition }), vec!["1", "2", "一", "二", "參", "肆", "拾測試二", "十測試二", "十二測試", "拾貳測試", "貳拾測試", "正"]);
// 中文數字部分使用中文代表的含義進行排序(區分大小寫,將大寫數字排於小寫之前),其他中文字透過ICU規範的Collate進行排序
assert_eq!(test.sort_zh(SortZhOptions { variant: Traditional, zh_number_option: DefinitionWithUpperCase(Before) }), vec!["1", "2", "參", "肆", "拾測試二", "拾貳測試", "貳拾測試", "一", "二", "十測試二", "十二測試", "正"]);
// 中文數字部分使用中文代表的含義進行排序(區分大小寫,將小寫數字排於大寫之前),其他中文字透過ICU規範的Collate進行排序
assert_eq!(test.sort_zh(SortZhOptions { variant: Traditional, zh_number_option: DefinitionWithUpperCase(After) }), vec!["1", "2", "一", "二", "十測試二", "十二測試", "參", "肆", "拾測試二", "拾貳測試", "貳拾測試", "正"]);