[][src]Struct kanaria::string::UCSStr

pub struct UCSStr<T> where
    T: UCSChar
{ /* fields omitted */ }

Methods

impl UCSStr<u16>[src]

pub fn from_str_u16<U: ?Sized>(s: &U) -> Self where
    U: AsRef<str>, 
[src]

変換対象の文字列からUCSStr構造体を生成します。

Examples

use kanaria::string::UCSStr;

let result = UCSStr::from_str("こんにちは");

impl UCSStr<u32>[src]

pub fn from_str<U: ?Sized>(s: &U) -> Self where
    U: AsRef<str>, 
[src]

変換対象の文字列からUCSStr構造体を生成します。

Examples

use kanaria::string::UCSStr;

let result = UCSStr::from_str("こんにちは");

impl<'a, T> UCSStr<T> where
    T: UCSChar
[src]

pub fn from_slice(source: &'a [T]) -> Self[src]

変換対象の文字列からUCSStr構造体を生成します。

Examples

use kanaria::string::UCSStr;

let target = vec!['あ', 'い', 'う', 'え', 'お'];
let result = UCSStr::from_slice(target.as_slice());

pub unsafe fn from_raw(source: *const T, len: usize) -> Self where
    T: UCSChar
[src]

変換対象の文字列からUCSStr構造体を生成します。

Examples

use kanaria::string::UCSStr;

let target = vec!['あ', 'い', 'う', 'え', 'お'];
let result = unsafe { UCSStr::from_raw(target.as_ptr(), target.len()) };

pub fn upper_case(&mut self) -> &mut Self[src]

文字列を大文字に変換するように設定します。

Examples

use kanaria::string::UCSStr;

let target = vec!['a', 'b', 'c'];
let result = UCSStr::from_slice(target.as_slice())
    .upper_case()
    .to_vec();

assert_eq!(result, vec!['A', 'B', 'C']);

pub fn lower_case(&mut self) -> &mut Self[src]

文字列を小文字に変換するように設定します。

Examples

use kanaria::string::UCSStr;

let target = vec!['A', 'B', 'C'];
let result = UCSStr::from_slice(target.as_slice())
    .lower_case()
    .to_vec();

assert_eq!(result, vec!['a', 'b', 'c']);

pub fn hiragana(&mut self) -> &mut Self[src]

文字列をひらがなに変換するように設定します。

Examples

use kanaria::string::UCSStr;

let target = vec!['ア', 'イ', 'ウ', 'エ', 'オ'];
let result = UCSStr::from_slice(target.as_slice())
    .hiragana()
    .to_vec();

assert_eq!(result, vec!['あ', 'い', 'う', 'え', 'お']);

pub fn katakana(&mut self) -> &mut Self[src]

文字列を全角カタカナに変換するように設定します。

Examples

use kanaria::string::UCSStr;

let target = vec!['あ', 'い', 'う', 'え', 'お'];
let result = UCSStr::from_slice(target.as_slice())
    .katakana()
    .to_vec();

assert_eq!(result, vec!['ア', 'イ', 'ウ', 'エ', 'オ']);

pub fn wide(&mut self, width_convert_target: ConvertTarget) -> &mut Self[src]

文字列を全角に変換するように設定します。 ConvertTargetフラグを利用することにより、全角に変換する文字種別を 数値、アルファベット、記号、カタカナのいずれか(複数指定可)に限定することが出来ます。

Examples

use kanaria::string::UCSStr;
use kanaria::utils::ConvertTarget;

let target = vec!['フ', 'シ', '゙', 'サ', 'ン'];
let result = UCSStr::from_slice(target.as_slice())
    .wide(ConvertTarget::ALL)
    .to_vec();

assert_eq!(result.len(), 4);
assert_eq!(result, vec!['フ','ジ','サ','ン']);

let target2 = vec!['1', '2', '3', 'a', 'b', 'c'];
let result2 = UCSStr::from_slice(target2.as_slice())
    .wide(ConvertTarget::NUMBER)
    .to_vec();

assert_eq!(result2, vec!['1', '2', '3', 'a', 'b', 'c']);

pub fn narrow(&mut self, width_convert_target: ConvertTarget) -> &mut Self[src]

文字列を半角に変換するように設定します。  ConvertTargetフラグを利用することにより、全角に変換する文字種別を 数値、アルファベット、記号、カタカナのいずれか(複数指定可)に限定することが出来ます。

Examples

use kanaria::string::UCSStr;
use kanaria::utils::ConvertTarget;

let target = vec!['ガ', 'ギ', 'グ', 'ゲ', 'ゴ'];
let result = UCSStr::from_slice(target.as_slice())
    .narrow(ConvertTarget::ALL)
    .to_vec();

assert_eq!(result.len(), 10);
assert_eq!(result, vec!['カ','゙','キ','゙','ク','゙','ケ','゙','コ','゙']);

let target2 = vec!['1', '2', '3', 'A', 'B', 'C'];
let result2 = UCSStr::from_slice(target2.as_slice())
    .narrow(ConvertTarget::ALPHABET)
    .to_vec();
assert_eq!(result2, vec!['1', '2', '3', 'A', 'B', 'C']);

pub fn none(&mut self) -> &mut Self[src]

文字列を変換せず、そのままとするように設定します。

Examples

use kanaria::string::UCSStr;

let target = vec!['あ', 'い', 'う', 'え', 'お'];
let result1 = UCSStr::from_slice(target.as_slice())
    .none()
    .to_vec();

assert_eq!(result1, vec!['あ', 'い', 'う', 'え', 'お']);

// カタカナに変換後、何もしない設定なのでカタカナに変換された文字が出てくる
let result2 = UCSStr::from_slice(target.as_slice())
    .katakana()
    .none()
    .to_vec();

assert_eq!(result2, vec!['ア', 'イ', 'ウ', 'エ', 'オ']);

pub fn to_string(&self) -> String[src]

文字列を変換し、Stringとして返却します。

Examples

use kanaria::string::UCSStr;

let target = vec!['あ', 'い', 'う', 'え', 'お'];
let result = UCSStr::from_slice(target.as_slice())
    .katakana()
    .to_string();

assert_eq!(result.as_str(), "アイウエオ")

pub fn to_vec(&self) -> Vec<T>[src]

文字列を変換し、Vecとして返却します。

Examples

use kanaria::string::UCSStr;

let target = vec!['あ', 'い', 'う', 'え', 'お'];
let result = UCSStr::from_slice(target.as_slice())
    .katakana()
    .to_vec();

assert_eq!(result, vec!['ア', 'イ', 'ウ', 'エ', 'オ'])

pub fn convert(
    src: &[T],
    convert_type: ConvertType,
    convert_target: ConvertTarget
) -> Vec<T> where
    T: UCSChar
[src]

文字列を変換し、Vecとして返却します。 convert_typeがWideまたはNarrowの場合、convert_targetフラグを利用することにより、変換する文字種別を 数値、アルファベット、記号、カタカナのいずれか(複数指定可)に限定することが出来ます。 WideまたはNarrow以外の場合、この設定値は無視されます。

Examples

use kanaria::string::UCSStr;
use kanaria::string::ConvertType::Katakana;
use kanaria::utils::ConvertTarget;
use kanaria::string::ConvertType;

let target = vec!['あ', 'い', 'う', 'え', 'お'];
let result = UCSStr::convert(target.as_slice(), ConvertType::Katakana, ConvertTarget::ALL);

assert_eq!(result, vec!['ア', 'イ', 'ウ', 'エ', 'オ'])

pub unsafe fn convert_raw(
    src_ptr: *const T,
    dst_ptr: *mut T,
    src_len: usize,
    convert_type: ConvertType,
    convert_target: ConvertTarget
) -> usize where
    T: UCSChar
[src]

文字列を変換し、Vecとして返却します。  convert_typeがWideまたはNarrowの場合、convert_targetフラグを利用することにより、変換する文字種別を 数値、アルファベット、記号、カタカナのいずれか(複数指定可)に限定することが出来ます。 WideまたはNarrow以外の場合、この設定値は無視されます。

Examples

use kanaria::string::UCSStr;
use kanaria::string::ConvertType::Katakana;
use kanaria::utils::ConvertTarget;

let target = vec!['あ', 'い', 'う', 'え', 'お'];
let mut result = Vec::with_capacity(target.len());
unsafe {
    result.set_len(target.len());
    UCSStr::convert_raw(target.as_ptr(), result.as_mut_ptr(), target.len(), Katakana, ConvertTarget::ALL);
}

assert_eq!(result, vec!['ア', 'イ', 'ウ', 'エ', 'オ'])

Trait Implementations

impl<T> Clone for UCSStr<T> where
    T: UCSChar
[src]

Auto Trait Implementations

impl<T> RefUnwindSafe for UCSStr<T> where
    T: RefUnwindSafe

impl<T> Send for UCSStr<T> where
    T: Send

impl<T> Sync for UCSStr<T> where
    T: Sync

impl<T> Unpin for UCSStr<T> where
    T: Unpin

impl<T> UnwindSafe for UCSStr<T> where
    T: UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.