Skip to content

Hizuru3/morastrja

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

69 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

morastrja

Mora String for the Japanese Language

仮名文字で表現された日本語のモーラ列を文字列のように扱えるクラスを提供します。 モーラ数のカウントや部分モーラ列の判定を高速に行うことができます。

License

MIT License

Installation

pip install morastrja

ビルドにはCコンパイラ(C99以降)が必要です。

Usage

# MoraStrクラスをインポート
>>> from morastrja import MoraStr

# インスタンスの作成
>>> MoraStr('モーラ')
MoraStr('モ' 'ー' 'ラ')
>>> MoraStr('シミュレーション')
MoraStr('シ' 'ミュ' 'レ' 'ー' 'ショ' 'ン')

# ひらがなや半角カタカナでもOK
# 自動的に全角カタカナに変換されます
>>> MoraStr('ひらがな')
MoraStr('ヒ' 'ラ' 'ガ' 'ナ')
>>> MoraStr('ハンカクモジ')
MoraStr('ハ' 'ン' 'カ' 'ク' 'モ' 'ジ')

# モーラ数を取得
>>> len(MoraStr('シミュレーション'))
6
>>> MoraStr('シミュレーション').length    # 上と等価
6

# 部分モーラ列判定 (in)
>>> 'シャ' in MoraStr('ショーシャマン')
True
>>> 'ショーシャ' in MoraStr('ショーシャマン')
True
>>> 'シ' in MoraStr('ショーシャマン')
False

# 添え字アクセス
>>> MoraStr('アーティキュレーション')[3]   # 0-indexed で3モーラ目
'キュ'
>>> MoraStr('アーティキュレーション')[-2]  # 後ろから2モーラ目
'ショ'

# スライス
>>> MoraStr('ジェットエンジン')[:3]       # 最初の3モーラを抽出
MoraStr('ジェ' 'ッ' 'ト')

# リスト化
>>> list(MoraStr('シュレッダー'))
['シュ', 'レ', 'ッ', 'ダ', 'ー']

# 文字列型との相互変換
>>> moras = MoraStr('コンピューター')
>>> moras
MoraStr('コ' 'ン' 'ピュ' 'ー' 'タ' 'ー')
>>> moras.string
'コンピューター'

この他、組み込みの文字列型と共通のメソッド ( .find(), .count()など ) も多くサポートしています。 また、ライブラリにはモーラ列処理に関係するいくつかのユーティリティー関数も含まれています。 詳しくはドキュメントをご覧ください。