約 3,101,881 件
https://w.atwiki.jp/multiply/pages/14.html
宣言 string str; // 空のstring string str("abcde"); // 初期値として"abcde" 操作 strcat() str1 += str2; // str1の末尾にstr2を連結 strcmp str1 == "abcdefghij" // 2つの文字列を比較 strlen str.size(); str.empty(); (=str.size(str) == 0) 従来の文字列への変換 str.c_str(); c_str()を使ったとき返される文字列の末尾には \0 が付加される。 部分文字列 string str( "abcdefghijk" ); str.substr( 5 ); // "fghijk" str.substr( 5, 3 ); // "fgh" 検索 string str( "abcdefghijk" ); string size_type index = str.find( "fgh" ); if( index == string npos ) // 検索できたかどうか { cout "検索に失敗しました" endl; } else { cout str.substr( index ) endl; } return 0; } 検索の各種関数の戻り値はstring size_type。 string nposとの比較は、string size_type型。 文字列逆転関数 string reverse(string str) { int size = str.size(); int i; char * newStr = new char[size+1]; for(i=0;i size;i++) { newStr[i] = str[size-1-i]; } newStr[size] = \0 ; str = newStr; return str; } .
https://w.atwiki.jp/unofficialrblxjp/pages/14.html
本ページでは、主に文字列を扱うstringライブラリと、文字列をUTF8として扱うutf8ライブラリについて解説する。 特に明記されていない場合の慣用 返り値:string型 []で囲われた引数は必須ではなく、ない場合は=で結ばれた値を返す。 str:任意の文字列 n,m:任意の整数 終端を指定する引数の値が負の数のとき、文字列の末までを範囲にする。 関数一覧 number,... string.byte(str,[n=1],[m=n]) strのnバイト目からmバイト目までの内部数値コードを返す。 string.char(n1,n2,n3,...) 内部数値コードを文字列に変換して全て繋げる。 number, ... utf8.codepoint (str, [n = 1], [m = n]) UTF8上で、strのn文字目からm文字目目までのUTF8数値コードを返す。 utf8.char(x1,x2,...) 任意の数値をUTF8でエンコードする。 utf8.nfcnormalize(str) strを正規化形式Cで再エンコードする(正準等価性によって分解され、再度合成される。) utf8.nfdnormalize(str) strを正規化形式Dで再エンコードする(正準等価性によって分解される。) string utf8.charpattern() = "[%z\x01-\x7F\xC2-\xF4][\x80-\xBF]*" strがUTF8として不正がないかを調べるための検索パターン。 string.len(str) strの文字列の長さ(正確にはバイト数)を返す。 バイト数を返す仕様上、3バイトで指定されている日本語の文字は一文字で3になる。 (nil) number utf8.len (str,[n = 1], [m = -1]) nバイト目(からみてmバイト目まで)のstrのUTF8上での文字数を返す。 不正なbyte列があった場合は、nilとともに最初の不正な文字が何バイト目にあったかをを返す。 number utf8.offset (str,n,[m=1]) mバイト目から見て、UTF上でn文字後が何byte目から始まっているのかを返す。 mバイト目から数えられない場合はエラーを返す。 string.lower(str) strを全て小文字にする。 string.upper(str) strを全て大文字にする。 string.rep(str,n) strをn回繰り返した文字列を返す。 str.reverse(str) strの順番を逆にした文字列を返す。 function string.gmatch(str,ptn) 呼ばれるたびに、strのptnに一致する部分を(頭の方から)返すイテレータ関数を返す。 function utf8.graphemes(str,[n=1],[m=-1]) 呼ばれるたびに、strの一文字が何バイトから始まって何バイトから終わるのかを(nバイト目からmバイト目まで)返すイテレータ関数を返す。 string.sub(str[,n=1],[,m=-1]) strのn文字目(から見てm文字目まで)の文字列を返す。 string.match(str,ptn,[n=1]) n文字目を開始位置として、strについて最初にptnと一致した文字列を返し、ない場合はnilを返す。 number,number string.find(str,ptn,[n=1],[plain=false]) n文字目を開始位置として、strについて最初にptnと一致する頭の文字目と尾の文字目を返し、ない場合はnilを返す。 plainがtrueのとき、ptnのパターンマッチング文字列をただの文字列として扱う。 table string.split(str,[sep=,]) strをsepの文字列のところで分割し、配列にして返す。 sepで指定された文字が連続している場合、連続部分の間に0文字の文字列ががあるとして扱われる string (,number) string.gsub(str,ptn,repl,[n]) strのptnに一致する部分をreplに指定された方法で置き換えたstrのコピーを返す。 nが指定されている場合、置き換える回数がn回までとなる。 replが文字列のとき、その値で直接置換する。 %n(自然数)は一致した文字列群の部分を表す。 %0は文章全て。 replが関数のとき、一致したときに毎回それが呼ばれる。返り値がnil/falseの時は無効化。 replがテーブルの時、一致した部分の名前の場所に代入されている値へと変換する。 string.format(formatstring,str1,str2,str3,...) formatstringの記述(Cのprintfファミリーと同じシステム)依存で任意の数の文字列を書式化して返す。
https://w.atwiki.jp/javamock/pages/29.html
String Javaにおいて java.lang.Stringクラスは文字列を扱うクラスです。 Stringは文字列リテラルを格納します。(「"」で文字を囲う) StringはUnicodeエスケープ(\u)を使うことができます。 String 使用例 1 StringSample1.java class StringSample1 { public static void main(String[] args) { String stringObject1 = "STRING"; String stringObject2 = "\u0053\u0054\u0052\u0049\u004E\u0047"; System.out.println("stringObject1 " + stringObject1); System.out.println("stringObject2 " + stringObject2); } } 実行結果 C \java javac StringSample1.java C \java java StringSample1 stringObject1 STRING stringObject2 STRING String 使用例 2 (文字列連結) 文字列を連結するには以下のように+を使います。 StringSample2.java class StringSample2 { public static void main(String[] args) { String stringObject1 = "Java"; String stringObject2 = "String"; String stringObject3 = "Sample"; System.out.println(stringObject1 + stringObject2 + stringObject3); } } 実行結果 C \java javac StringSample2.java C \java java StringSample2 JavaStringSample String 使用例 3 (よく使うメソッド) Stringのよく使うメソッド!といってもあくまで主観ですが。。。 StringSample3.java class StringSample3 { public static void main(String[] args) { String stringObject = "JavaStringSample"; String stringEmpty = ""; //String のメソッド equals(Object anObject) は文字列と指定されたオブジェクトを比較します。 System.out.println("stringObjectEqualsJavaStringSample " + stringObject.equals("JavaStringSample")); System.out.println("stringObjectEqualsJavaString " + stringObject.equals("JavaString")); //String のメソッド length() は文字列の長さを返します。(intで返す) System.out.println("stringObjectLength " + stringObject.length()); //String のメソッド substring(int beginIndex, int endIndex) は指定した部分の文字列を返します。 System.out.println("stringObjectSubstring4-10 " + stringObject.substring (4,10)); //String のメソッド isEmpty() は length() が0である場合にかぎり、trueを返します。 System.out.println("stringObjectisEmpty " + stringObject.isEmpty()); System.out.println("stringEmptyisEmpty " + stringEmpty.isEmpty()); } } 実行結果 C \java javac StringSample3.java C \java java StringSample3 stringObjectEqualsJavaStringSample true stringObjectEqualsJavaString false stringObjectLength 16 stringObjectSubstring4-10 String stringObjectisEmpty false stringEmptyisEmpty true String 使用例 4 (エスケープシーケンス) エスケープシーケンスを使ってみます。 \nが改行です。\tがタブです。\rはその行の先頭に戻ります。 また、「"」「 」「\」を表示させるには「\"」「\ 」「\\」とします。 StringSample4.java class StringSample4 { public static void main(String[] args) { // \nの使用例です。\nで改行されます。 String stringN = "stringLine1\nstringLine2"; System.out.println(stringN); System.out.println(); // \tの使用例です。\tでタブが入ります。 String stringColumn = "COLUMN1\tCOLUMN2\tCOLUMN3\tCOLUMN4\t"; String stringData = "data\tdata\tdata\tdata\t"; System.out.println(stringColumn); System.out.println(stringData); System.out.println(stringData); System.out.println(stringData); // \rの使用例です。\rで行の先頭に戻ります。 String stringR = "JAVA\rSTRING"; // \rで行の先頭に戻るのでここではJAVAと表示されません。 System.out.println(stringR); } } 実行結果 C \java javac StringSample4.java C \java java StringSample4 stringLine1 stringLine2 COLUMN1 COLUMN2 COLUMN3 COLUMN4 data data data data data data data data data data data data STRING String NullPointerException 例 null引数をコンストラクタ、またはこのクラスのメソッドへ渡すと NullPointerExceptionがスローされます。 StringSample5.java class StringSample5 { public static void main(String[] args) { String stringNull = null; System.out.println("stringNull " + stringNull); //ここでNullPointerException System.out.println(new String(stringNull)); } } 実行結果 C \java javac StringSample5.java C \java java StringSample5 stringNull null Exception in thread "main" java.lang.NullPointerException at java.lang.String. init (Unknown Source) at StringSample5.main(StringSample5.java 9)
https://w.atwiki.jp/program/pages/126.html
トップページ プログラミング言語 C/C++ C++標準ライブラリ C++標準ライブラリ・ヘッダー別索引 クラス char_traits basic_string string wstring 関数 概要 namespace std { // 21.1, character traits template class charT struct char_traits; template struct char_traits char ; template struct char_traits wchar_t ; // 21.3, basic_string template class charT, class traits = char_traits charT , class Allocator = allocator charT class basic_string; template class charT, class traits, class Allocator basic_string charT,traits,Allocator operator+(const basic_string charT,traits,Allocator lhs, const basic_string charT,traits,Allocator rhs); template class charT, class traits, class Allocator basic_string charT,traits,Allocator operator+(const charT* lhs, const basic_string charT,traits,Allocator rhs); template class charT, class traits, class Allocator basic_string charT,traits,Allocator operator+(charT lhs, const basic_string charT,traits,Allocator rhs); template class charT, class traits, class Allocator basic_string charT,traits,Allocator operator+(const basic_string charT,traits,Allocator lhs, const charT* rhs); template class charT, class traits, class Allocator basic_string charT,traits,Allocator operator+(const basic_string charT,traits,Allocator lhs, charT rhs); template class charT, class traits, class Allocator bool operator==(const basic_string charT,traits,Allocator lhs, const basic_string charT,traits,Allocator rhs); template class charT, class traits, class Allocator bool operator==(const charT* lhs, const basic_string charT,traits,Allocator rhs); template class charT, class traits, class Allocator bool operator==(const basic_string charT,traits,Allocator lhs, const charT* rhs); template class charT, class traits, class Allocator bool operator!=(const basic_string charT,traits,Allocator lhs, const basic_string charT,traits,Allocator rhs); template class charT, class traits, class Allocator bool operator!=(const charT* lhs, const basic_string charT,traits,Allocator rhs); template class charT, class traits, class Allocator bool operator!=(const basic_string charT,traits,Allocator lhs, const charT* rhs); template class charT, class traits, class Allocator bool operator (const basic_string charT,traits,Allocator lhs, const basic_string charT,traits,Allocator rhs); template class charT, class traits, class Allocator bool operator (const basic_string charT,traits,Allocator lhs, const charT* rhs); template class charT, class traits, class Allocator bool operator (const charT* lhs, const basic_string charT,traits,Allocator rhs); template class charT, class traits, class Allocator bool operator (const basic_string charT,traits,Allocator lhs, const basic_string charT,traits,Allocator rhs); template class charT, class traits, class Allocator bool operator (const basic_string charT,traits,Allocator lhs, const charT* rhs); template class charT, class traits, class Allocator bool operator (const charT* lhs, const basic_string charT,traits,Allocator rhs); template class charT, class traits, class Allocator bool operator =(const basic_string charT,traits,Allocator lhs, const basic_string charT,traits,Allocator rhs); template class charT, class traits, class Allocator bool operator =(const basic_string charT,traits,Allocator lhs, const charT* rhs); template class charT, class traits, class Allocator bool operator =(const charT* lhs, const basic_string charT,traits,Allocator rhs); template class charT, class traits, class Allocator bool operator =(const basic_string charT,traits,Allocator lhs, const basic_string charT,traits,Allocator rhs); template class charT, class traits, class Allocator bool operator =(const basic_string charT,traits,Allocator lhs, const charT* rhs); template class charT, class traits, class Allocator bool operator =(const charT* lhs, const basic_string charT,traits,Allocator rhs); // 21.3.7.8 template class charT, class traits, class Allocator void swap(basic_string charT,traits,Allocator lhs, basic_string charT,traits,Allocator rhs); template class charT, class traits, class Allocator basic_istream charT,traits operator (basic_istream charT,traits is, basic_string charT,traits,Allocator str); template class charT, class traits, class Allocator basic_ostream charT, traits operator (basic_ostream charT, traits os, const basic_string charT,traits,Allocator str); template class charT, class traits, class Allocator basic_istream charT,traits getline(basic_istream charT,traits is, basic_string charT,traits,Allocator str, charT delim); template class charT, class traits, class Allocator basic_istream charT,traits getline(basic_istream charT,traits is, basic_string charT,traits,Allocator str); typedef basic_string char string; typedef basic_string wchar_t wstring; } ISO IEC 14882 内の関連するセクション 21.1 Character traits 21.2 String classes 名前 コメント ページビュー -
https://w.atwiki.jp/procom/pages/8.html
反転 String reverse(String s) { String ans = ""; int len = s.length(); for (int i = 0; i len; i++) ans += s.charAt(len-i-1); return ans; } 回文判定空文字列""もtrueを返す boolean isPalindrome(String s) { int i = 0, j = s.length()-1; while (i j) { if (s.charAt(i) != s.charAt(j)) return false; i++; j--; } return true; }
https://w.atwiki.jp/perlref/pages/86.html
STRING 【型】 文字列 【読み方】 ストリング 【説明】 Cなんかとは違いPerlはずいぶんと便利なもので、""でくくっただけであら不思議。簡単に文字列として変数にいきなり代入したりできる。 要は文字列。 それくらいしか説明することがな(以下略) 【関連事項】 なし
https://w.atwiki.jp/shisaku0017/pages/167.html
String 対応しているフリーウェア一覧 JavaScript Chart
https://w.atwiki.jp/abwiki/pages/92.html
名称 |String$ 読み |ストリングドル、ストラングルホールド、ケンスケ、ストリングダラー等 定義 |String$(num As Long, buf As String) As String 説明 |bufに指定された文字列をnum回連結したものを返します。 戻り値 |文字列が返ります。 参照 |
https://w.atwiki.jp/toyoken/pages/25.html
■ヘッダ #include iostream #include string #include vector class TString { private std string _str; // 文字列 std vector std string _splitItem; // 分解文字列 public TString( const char* pcData ); // コンストラクタ ~TString(); // デストラクタ std string GetString(); // 文字列取得 const char* GetCString(); // 文字列取得 int SetString( const char* pcData ); // 文字列設定 int AddString( const char* pcData ); // 文字列追加 void Clear(); // 文字列初期化 int GetSize(); // 文字列のサイズ取得 int Replace( const char* pcBefor, const char* pcAfter ); // 文字列初期化 int Split( const char* pcDelim ); // 文字列の分解 std string GetSplitItem( unsigned int nNum ); // 分解した文字列の要素数取得 }; ■ソース #include "TString.h" /**************************************************/ // コンストラクタ /**************************************************/ TString TString( const char* pcData ) { _str = pcData; } /**************************************************/ // デストラクタ /**************************************************/ TString ~TString() { } /**************************************************/ // 文字列を取得する(String型) /**************************************************/ std string TString GetString() { return _str; } /**************************************************/ // 文字列を取得する(char型) /**************************************************/ const char* TString GetCString() { return _str.c_str(); } /**************************************************/ // 文字列を設定する /**************************************************/ int TString SetString( const char* pcData ) { _str = pcData; return 0; } /**************************************************/ // 文字列を後ろに追加する /**************************************************/ int TString AddString( const char* pcData ) { _str += pcData; return 0; } /**************************************************/ // クリアする /**************************************************/ void TString Clear() { _str = ""; } /**************************************************/ // 文字列のサイズを返却 /**************************************************/ int TString GetSize() { return _str.size(); } /**************************************************/ // Replaceする /**************************************************/ int TString Replace( const char* pcBefor, const char* pcAfter ) { std string strBefor( pcBefor ); std string strAfter( pcAfter ); unsigned int nPoint = 0; /* 一致する文字列を検索して位置を取得 */ while( std string npos != (nPoint = _str.find( strBefor, 0 ) ) ) { /* 置き換え */ _str.replace( nPoint, strBefor.size(), strAfter ); } return 0; } /**************************************************/ // Splitを行い、トークンの数を返却する /**************************************************/ int TString Split( const char* pcDelim ) { std string strDelim( pcDelim ); std string strBuff = _str; std string strToken(""); unsigned int nPoint = 0; /* デリミタがない場合 */ if( std string npos == strBuff.find(strDelim, 0) ) { /* クリア */ _splitItem.clear(); /* 要素数を返却 */ return _splitItem.size(); } /* デリミタを検索 */ while( std string npos != (nPoint = strBuff.find(strDelim, 0)) ) { /* デリミタまでの文字列を設定 */ strToken = strBuff.substr( 0, nPoint ); /* Tokenが空となる場合は設定しない(デリミタが連続する場合はTokenが空となる) */ if( false == strToken.empty() ) { /* デリミタまでの文字列を設定 */ _splitItem.push_back( strToken ); } /* デリミタまでの文字を削除 */ strBuff.erase( 0, (nPoint + strDelim.size()) ); } /* 文字列の最後にデリミタがある場合は空となるため設定しない */ if( false == strBuff.empty() ) { /* 最後の要素を設定 */ _splitItem.push_back( strBuff ); } /* 要素数を返却 */ return _splitItem.size(); } /**************************************************/ // Splitしたトークンを返却する(指定要素) /**************************************************/ std string TString GetSplitItem( unsigned int nNum ) { std string str = ""; /* トークン数より大きい値を指定された場合 */ if( nNum = _splitItem.size() ) { return str; } /* 指定トークンを設定 */ str = _splitItem[nNum]; return str; }
https://w.atwiki.jp/vslibrary/pages/72.html
入力チェック(数値チェック等) 数値チェック、アルファべトの大文字チェック等のチェックはRegexを使用する。 (Regexは正規表現のクラス。Regular Expressionsの略。) Regexの詳細仕様はコチラ(英語) 例:数値チェック、大文字チェック等を行う関数。 Public Function fncChkInputData(ByVal target As String, ByVal atbFlg As Integer) As Boolean Dim r As New Regex(target) Dim p As String = String.Empty Select Case atbFlg Case 0 半角英大字数字 p = "^[A-Z0-9]+$" Case 1 半角英大字 p = "^[A-Z]+$" Case 2 半角数字 p = "^[0-9]+$" Case 3 半角記号 p = "^[!-/][ -@][\[-`][{-~]+$" Case 4 整数1~2桁、小数0~2桁 p = "^[0-9]{1,2}(\.[0-9]{1,2})?$" Case 5 マイナス記号許可、整数1~6桁、小数0~2桁 p = "^-?[0-9]{1,6}(\.[0-9]{1,2})?$" Case 6 マイナス記号許可、整数1~9桁、小数0~2桁 p = "^-?[0-9]{1,9}(\.[0-9]{1,2})?$" Case Else End Select If Not Regex.IsMatch(target, p) Then Return False End If Return True End Function .