```rs let text = "你好世界";
let result = ngrams(text, 2);
asserteq!(
result
.intoiter()
.collect::
```rs let text = "foo中文bar字符baz";
let result = extractconsecutivechinese_chars(text);
asserteq!(
result
.intoiter()
.collect::
```rs use ultranlp::BehaviorForUnmatched, use ultranlp::cedarwood::{ segment_fully, ForwardDictionary, };
let text = " 南京市长江大桥, hello world "; let dict = ForwardDictionary::new( vec!["南京", "南京市", "市长", "长江", "大桥", "你好世界"] ).unwrap();
let result = segment_fully( text, &dict, BehaviorForUnmatched::Ignore );
assert_eq!(
result
.iter()
.map(|x| x.range().extract(text))
.collect::
```rs use ultranlp::BehaviorForUnmatched, use ultranlp::cedarwood::{ segment_fully, ForwardDictionary, };
let text = " 南京市长江大桥, hello world "; let dict = ForwardDictionary::new( vec!["南京", "南京市", "市长", "长江", "大桥", "你好世界"] ).unwrap();
let result = segment_fully( text, &dict, BehaviorForUnmatched::KeepAsChars );
assert_eq!(
result
.iter()
.map(|x| x.range().extract(text))
.collect::
```rs use ultranlp::BehaviorForUnmatched, use ultranlp::cedarwood::{ segment_fully, ForwardDictionary, };
let text = " 南京市长江大桥, hello world "; let dict = ForwardDictionary::new( vec!["南京", "南京市", "市长", "长江", "大桥", "你好世界"] ).unwrap();
let result = segment_fully( text, &dict, BehaviorForUnmatched::KeepAsWords );
assert_eq!(
result
.iter()
.map(|x| x.range().extract(text))
.collect::
```rs use ultranlp::BehaviorForUnmatched, use ultranlp::daachorse::{ segment_fully, StandardDictionary, };
let text = " 南京市长江大桥, hello world "; let dict = StandardDictionary::new( vec!["南京", "南京市", "市长", "长江", "大桥", "你好世界"] ).unwrap();
let result = segment_fully(text, &dict, BehaviorForUnmatched::Ignore);
assert_eq!(
result
.iter()
.map(|x| x.range().extract(text))
.collect::
```rs use ultranlp::BehaviorForUnmatched, use ultranlp::daachorse::{ segment_fully, StandardDictionary, };
let text = " 南京市长江大桥, hello world "; let dict = StandardDictionary::new( vec!["南京", "南京市", "市长", "长江", "大桥", "你好世界"] ).unwrap();
let result = segment_fully(text, &dict, BehaviorForUnmatched::KeepAsChars);
assert_eq!(
result
.iter()
.map(|x| x.range().extract(text))
.collect::
```rs use ultranlp::BehaviorForUnmatched, use ultranlp::daachorse::{ segment_fully, StandardDictionary, };
let text = " 南京市长江大桥, hello world "; let dict = StandardDictionary::new( vec!["南京", "南京市", "市长", "长江", "大桥", "你好世界"] ).unwrap();
let result = segment_fully(text, &dict, BehaviorForUnmatched::KeepAsWords);
assert_eq!(
result
.iter()
.map(|x| x.range().extract(text))
.collect::