StringUtil.h

String operation utility [詳細]

#include <string>
#include <vector>
#include <sstream>

ソースコードを見る。

関数

int getlinePortable (std::istream &istr, std::string &line)
 入力ストリームから1行読み込む
bool isEscaped (const std::string &str, std::string::size_type pos)
 文字列がエスケープされているか判断する
std::string escape (const std::string str)
 文字列をエスケープする
std::string unescape (const std::string str)
 文字列のエスケープを戻す
void eraseHeadBlank (std::string &str)
 文字列の先頭の空白文字を削除する
void eraseTailBlank (std::string &str)
 文字列の末尾の空白文字を削除する
void replaceString (std::string &str, const std::string from, const std::string to)
 文字列を置き換える
std::vector
< std::string > 
split (const std::string &input, const std::string &delimiter)
 文字列を分割文字で分割する
bool toBool (std::string str, std::string yes, std::string no, bool default_value=true)
 与えられた文字列をbool値に変換する
bool isAbsolutePath (const std::string &str)
 与えられた文字列が絶対パスかどうかを判断する
bool isURL (const std::string &str)
 与えられた文字列がURLかどうかを判断する
template<class Printable>
std::string otos (Printable n)
 与えられたオブジェクトをstdstringに変換
template<typename To>
bool stringTo (To &val, const char *str)
 与えられたstdstringをオブジェクトに変換
std::vector
< std::string > 
unique_sv (std::vector< std::string > sv)
 与えられた文字列リストから重複を削除
std::string flatten (std::vector< std::string > sv)
 与えられた文字列リストからCSVを生成
char ** toArgv (const std::vector< std::string > &args)
 与えられた文字列リストを引数リストに変換


説明

String operation utility

日付:
Date
作者:
Noriaki Ando <n-ando@aist.go.jp>
Copyright (C) 2003-2008 Noriaki Ando Task-intelligence Research Group, Intelligent Systems Research Institute, National Institute of Advanced Industrial Science and Technology (AIST), Japan All rights reserved.

Id

関数

void eraseHeadBlank ( std::string &  str  ) 

文字列の先頭の空白文字を削除する

与えられた文字列の先頭に存在する空白文字を削除する。 空白文字として扱うのは' '(スペース)と'\t'(タブ)。

引数:
str 先頭空白文字削除処理文字列

void eraseTailBlank ( std::string &  str  ) 

文字列の末尾の空白文字を削除する

与えられた文字列の末尾に存在する空白文字を削除する。 空白文字として扱うのは' '(スペース)と'\t'(タブ)。

引数:
str 末尾空白文字削除処理文字列

std::string escape ( const std::string  str  ) 

文字列をエスケープする

次の文字をエスケープシーケンスに変換する。
HT -> "\t"
LF -> "\n"
CR -> "\r"
FF -> "\f"
シングルクオート、ダブルクオートについてはとくに処理はしない。

引数:
str エスケープ処理対象文字列
戻り値:
エスケープ処理結果文字列

std::string flatten ( std::vector< std::string >  sv  ) 

与えられた文字列リストからCSVを生成

引数で与えられた文字列リストの各要素を並べたCSVを生成する。 文字列リストが空の場合には空白文字を返す。

引数:
sv CSV変換対象文字列リスト
戻り値:
CSV変換結果文字列

int getlinePortable ( std::istream &  istr,
std::string &  line 
)

入力ストリームから1行読み込む

入力ストリームから1行読み込む。 入力ストリームはの改行コードはUNIX, Windowsの改行コードのいずれか、 もしくは混在していてもよい。

引数:
istr 入力ストリーム
line 読み込んだ文字列を格納する変数
戻り値:
改行文字を除く読み込んだ文字列の長さ

bool isAbsolutePath ( const std::string &  str  ) 

与えられた文字列が絶対パスかどうかを判断する

与えられた文字列が絶対パス表現であるかどうかを判断する。 文字列が以下の場合には絶対パスとして判断する。

引数:
str 判定対象文字列
戻り値:
絶対パス判定結果

bool isEscaped ( const std::string &  str,
std::string::size_type  pos 
)

文字列がエスケープされているか判断する

指定された文字がエスケープされているかどうかを判断する。

引数:
str エスケープされているかどうか判断する文字を含む文字列
pos エスケープされているかどうか判断する文字の位置
戻り値:
指定した文字がエスケープされていれば true, それ以外は false

bool isURL ( const std::string &  str  ) 

与えられた文字列がURLかどうかを判断する

与えられた文字列がURL表現かどうかを判断する。 与えられた文字列中に、'://'という文字列が含まれている場合には URL表現として判断する。

引数:
str 判定対象文字列
戻り値:
URL判定結果

template<class Printable>
std::string otos ( Printable  n  )  [inline]

与えられたオブジェクトをstdstringに変換

引数で指定されたオブジェクトを文字列に変換する。

引数:
n 変換対象オブジェクト
戻り値:
文字列変換結果

void replaceString ( std::string &  str,
const std::string  from,
const std::string  to 
)

文字列を置き換える

与えられた文字列に対して、指定した文字の置き換えを行う。

引数:
str 置き換え処理対象文字列
from 置換元文字
to 置換先文字

std::vector<std::string> split ( const std::string &  input,
const std::string &  delimiter 
)

文字列を分割文字で分割する

設定された文字列を与えられたデリミタで分割する。

引数:
input 分割対象文字列
delimiter 分割文字列(デリミタ)
戻り値:
文字列分割結果リスト

template<typename To>
bool stringTo ( To &  val,
const char *  str 
) [inline]

与えられたstdstringをオブジェクトに変換

引数で与えられた文字列を指定されたオブジェクトに変換する。

引数:
val 変換先オブジェクト
str 変換元文字列
戻り値:
変換処理実行結果

char** toArgv ( const std::vector< std::string > &  args  ) 

与えられた文字列リストを引数リストに変換

引数で与えられた文字列リストの各要素末尾に'\0'を加え、引数リストに変換する。

引数:
args 変換対象文字列リスト
戻り値:
引数変換結果文字列

bool toBool ( std::string  str,
std::string  yes,
std::string  no,
bool  default_value = true 
)

与えられた文字列をbool値に変換する

指定された文字列を、true表現文字列、false表現文字列と比較し、その結果を bool値として返す。 比較の結果、true表現文字列、false表現文字列のどちらとも一致しない場合は、 与えられたデフォルト値を返す。

引数:
str 判断対象文字列
yes true表現文字列
no false表現文字列
default_value デフォルト値(デフォルト値:true)

std::string unescape ( const std::string  str  ) 

文字列のエスケープを戻す

次のエスケープシーケンスを文字に変換する。
"\t" -> HT
"\n" -> LF
"\r" -> CR
"\f" -> FF
"\"" -> "
"\'" -> '
※エスケープ処理の完全な逆変換にはなっていないため、注意が必要。

引数:
str アンエスケープ処理対象文字列
戻り値:
アンエスケープ処理結果文字列

std::vector<std::string> unique_sv ( std::vector< std::string >  sv  ) 

与えられた文字列リストから重複を削除

引数で与えられた文字列リストから重複を削除したリストを作成する。

引数:
sv 確認元文字列リスト
戻り値:
重複削除処理結果リスト


OpenRTMに対してWed May 21 05:17:25 2008に生成されました。  doxygen 1.5.3