4 个稳定版本
1.1.0 | 2024年5月4日 |
---|---|
1.0.2 | 2024年5月3日 |
#242 in 文本处理
24 每月下载量
28KB
206 行
RustKorean
RustKorean 是一个用于处理韩文字符的 Rust 库。它提供了检查字符是否为韩文、分类韩文字符、验证字符是否为韩文书写系统中的声母(choseong)、韵母(jungseong)或尾音(jongseong),将音节字符组合成完整的韩文字节,以及检查字符的音节类型等功能。
特性
- 检查字符是否为韩文 (
check_korean
) - 分类韩文字符 (
classify_korean
) - 检查声母 (Choseong) (
first_letter_check
) - 检查韵母 (Jungseong) (
middle_letter_check
) - 检查尾音 (Jongseong) (
last_letter_check
) - 将音节字符组合成韩文 (
compose_korean
) - 检查字符的音节类型 (
syllable_check
) - 在适用的情况下将单个韩文字符组合成双辅音 (
create_double_consonant
)
用法
首先,在您的 Cargo.toml
文件中将 rustkorean
添加为依赖项。
[dependencies]
rustkorean = "1.0.2"
检查字符是否为韩文
检查字符是否为韩文的示例。
extern crate rustkorean;
use rustkorean::check_korean;
fn main() {
let korean_char = '한';
let non_korean_char = 'A';
println!("Is '{}' a Korean character? {}", korean_char, check_korean(korean_char));
println!("Is '{}' a Korean character? {}", non_korean_char, check_korean(non_korean_char));
}
检查音节类型
检查字符音节类型的示例。
extern crate rustkorean;
use rustkorean::syllable_check;
fn main() {
let examples = vec!['ㄱ', 'ㅏ', 'ㅣ', '1', 'a', 'ㄳ'];
for &example in &examples {
let syllable_type = syllable_check(example);
println!("{:?} is {:?}", example, syllable_type);
}
}
检查声母、韵母和尾音
验证字符是否为声母、韵母或尾音的示例。
extern crate rustkorean;
use rustkorean::{first_letter_check, middle_letter_check, last_letter_check};
fn main() {
let first_letter = 'ㄱ';
let middle_letter = 'ㅏ';
let last_letter = 'ㅎ';
let not_korean_letter = 'A';
if first_letter_check(first_letter) {
println!("'{}' is a first letter.", first_letter);
}
if middle_letter_check(middle_letter) {
println!("'{}' is a middle letter.", middle_letter);
}
if last_letter_check(last_letter) {
println!("'{}' is a last letter.", last_letter);
}
if !first_letter_check(not_korean_letter) && !middle_letter_check(not_korean_letter) && !last_letter_check(not_korean_letter) {
println!("'{}' is not a Korean letter.", not_korean_letter);
}
}
将音节字符组合成韩文
将音节字符组合成完整的韩文字节的示例。
extern crate rustkorean;
use rustkorean::compose_korean;
fn main() {
let chars = "ㅇㅏㄴㄴㅕㅇㅎㅏㅅㅔㅇㅛ".chars().collect::<Vec<char>>();
let composed_string = compose_korean(chars);
println!("{}", composed_string); // This should print "안녕하세요".
}
将分隔的双辅音组合成完整的韩文字符
此功能将具有分隔双辅音的输入组合成完整的韩文字符。
它与 compose_korean
函数配合得很好。
请参阅 korean_compose_example_2.rs
以获取示例。
extern crate rustkorean;
use rustkorean::create_double_consonant;
fn main() {
let test_cases = vec![
vec!['ㄱ', 'ㅅ', 'ㄴ', 'ㅈ', 'ㄹ', 'ㅎ'],
vec!['ㄹ', 'ㄱ', 'ㄹ', 'ㅁ', 'ㄹ', 'ㅂ', 'ㄹ', 'ㅅ']
];
for case in test_cases {
let result = create_double_consonant(case);
println!("Result: {:?}", result.iter().collect::<String>());
// This code will output
// Result: "ㄳㄵㅀ"
// Result: "ㄺㄻㄼㄽ"
}
}
本节描述了如何处理包含分隔双辅音的输入,并将它们组合成完整的韩文字节,从而增强了 compose_korean
函数的功能。
贡献
如果您想为此项目做出贡献,请提交拉取请求。如果您发现任何错误或提出功能请求,请打开一个问题。
韩国语说明 RustKorean
RustKorean 是用于韩文处理的 Rust 库。它提供检查韩文是否正确、韩文分类、确认初声/中声/韵尾、通过组合字母来形成完整韩文、检查字符的音节类型等功能。
功能
- 韩文字符检查 (
check_korean
) - 韩文字符分类 (
classify_korean
) - 初声确认 (
first_letter_check
) - 中声确认 (
middle_letter_check
) - 韵尾确认 (
last_letter_check
) - 通过组合字母来创建韩文 (
compose_korean
) - 检查字符的音节类型 (
syllable_check
) - 通过输入韩文字母组合可能的叠韵 (
create_double_consonant
)
使用方法
首先,在 Cargo.toml
文件中将 rustkorean
添加为依赖。
[dependencies]
rustkorean = "1.0.2"
韩文字符检查
这是检查字符是否为韩文的示例。
extern crate rustkorean;
use rustkorean::check_korean;
fn main() {
let korean_char = '한';
let non_korean_char = 'A';
println!("'{}'는 한글 문자인가? {}", korean_char, check_korean(korean_char));
println!("'{}'는 한글 문자인가? {}", non_korean_char, check_korean(non_korean_char));
}
检查字符的音节类型
这是检查字符音节类型的示例。
extern crate rustkorean;
use rustkorean::syllable_check;
fn main() {
let examples = vec!['ㄱ', 'ㅏ', 'ㅣ', '1', 'a', 'ㄳ'];
for &example in &examples {
let syllable_type = syllable_check(example);
println!("{:?}는 {:?} 유형입니다.", example, syllable_type);
}
}
初声/中声/韵尾确认
这是检查初声、中声、韵尾是否存在的示例。
extern crate rustkorean;
use rustkorean::{first_letter_check, middle_letter_check, last_letter_check};
fn main() {
let first_letter = 'ㄱ';
let middle_letter = 'ㅏ';
let last_letter = 'ㅎ';
let not_korean_letter = 'A';
if first_letter_check(first_letter) {
println!("'{}'는 초성입니다.", first_letter);
}
if middle_letter_check(middle_letter) {
println!("'{}'는 중성입니다.", middle_letter);
}
if last_letter_check(last_letter) {
println!("'{}'는 종성입니다.", last_letter);
}
if !first_letter_check(not_korean_letter) && !middle_letter_check(not_korean_letter) && !last_letter_check(not_korean_letter) {
println!("'{}'는 한글 문자가 아닙니다.", not_korean_letter);
}
}
通过组合字母来创建韩文
这是通过组合字母来创建完整韩文的示例。
extern crate rustkorean;
use rustkorean::compose_korean;
fn main() {
let chars = "ㅇㅏㄴㄴㅕㅇㅎㅏㅅㅔㅇㅛ".chars().collect::<Vec<char>>();
let composed_string = compose_korean(chars);
println!("{}", composed_string); // 이 코드는 "안녕하세요"를 출력합니다.
}
通过组合分离的叠韵来创建韩文
这是通过组合分离的叠韵输入来创建完整韩文的示例。
建议与 compose_korean
函数一起使用。
请参阅 korean_compose_example_2.rs
。
extern crate rustkorean;
use rustkorean::create_double_consonant;
fn main() {
let test_cases = vec![
vec!['ㄱ', 'ㅅ', 'ㄴ', 'ㅈ', 'ㄹ', 'ㅎ'],
vec!['ㄹ', 'ㄱ', 'ㄹ', 'ㅁ', 'ㄹ', 'ㅂ', 'ㄹ', 'ㅅ']
];
for case in test_cases {
let result = create_double_consonant(case);
println!("Result: {:?}", result.iter().collect::<String>());
// 이 코드는
// Result: "ㄳㄵㅀ"
// Result: "ㄺㄻㄼㄽ"
// 을 출력합니다
}
}
贡献
如果您想为该项目做出贡献,请接受合并请求。如果您发现错误或有功能请求,请创建问题。