kana
kana copied to clipboard
Add direct kana conversion and utility functions
Summary
This PR introduces new features and improvements to enhance Japanese text processing capabilities in the library.
New Features
-
Direct Kana Conversion
HiraganaToKatakana()– Convert hiragana to katakanaKatakanaToHiragana()– Convert katakana to hiragana
-
Character Detection
ContainsKana()– Check if string contains kanaContainsHiragana()– Check if string contains hiraganaContainsKatakana()– Check if string contains katakanaContainsKanji()– Check if string contains kanji
-
Character Counting
CountKana()– Count all kana charactersCountHiragana()– Count hiragana charactersCountKatakana()– Count katakana charactersCountKanji()– Count kanji charactersCountRomaji()– Count romaji (Latin) characters
Improvements
- Added empty string handling for all conversion functions
- Introduced named constants for special kana (小さいつ, ん, ー)
- Refactored code to replace magic strings with constants
- Fixed typo in
IsKanjidocumentation
Testing
- Added unit tests for all new functions
- Verified empty string edge cases
- Included benchmark tests for performance validation
Documentation
- Updated
README.mdwith examples for new functions - Added
go.modfor Go module support
Test Plan
All tests pass successfully:
go test -v
go test -bench=.