Qtでの文字列操作。基本的には、QStringクラスでたいていの処理ができます。
環境:QT5.5
文字列の比較
※Qt::CaseSensitiveを指定すると大文字小文字を区別、
Qt::CaseInsensitiveを指定すると大文字小文字を区別なく比較できます。
文字列の完全一致
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| // 比較
// QString str1;
// QString str2;
//
if ( str1.compare(str2, Qt::CaseSensitive) == 0 ) {
// str1とstr2は同じ文字列(完全一致)
} else {
// 一致しない場合
}
// シンプルに以下の方法でも比較はできます。
if ( str1 == str2 ) {
// 一致
} |
// 比較 // QString str1; // QString str2; // if ( str1.compare(str2, Qt::CaseSensitive) == 0 ) { // str1とstr2は同じ文字列(完全一致) } else { // 一致しない場合 } // シンプルに以下の方法でも比較はできます。 if ( str1 == str2 ) { // 一致 }
指定文字列を含むか?
1
2
3
4
5
6
7
8
9
| // 文字列を含む
// QString str1;
// QString str2;
if ( str1.contains(str2, Qt::CaseInsensitive) == 0 ) {
// str1はstr2を含む
} else {
// str1はsrt2を含まない
} |
// 文字列を含む // QString str1; // QString str2; if ( str1.contains(str2, Qt::CaseInsensitive) == 0 ) { // str1はstr2を含む } else { // str1はsrt2を含まない }
指定文字列で始まるか?
1
2
3
4
5
6
7
8
| // 指定文字列で始まる
// QString str1;
// QString str2;
if ( str1.startsWith(str2, Qt::CaseInsensitive) == true ) {
// str1はstr2で始まる
} else {
// 始まらない
} |
// 指定文字列で始まる // QString str1; // QString str2; if ( str1.startsWith(str2, Qt::CaseInsensitive) == true ) { // str1はstr2で始まる } else { // 始まらない }
指定文字列で終わるか?
1
2
3
4
5
6
7
8
| // 指定文字列で終わる
// QString str1;
// QString str2;
if ( str1.endsWith(str2, Qt::CaseInsensitive) == true ) {
// str1はstr2で終わる
} else {
// 終わらない
} |
// 指定文字列で終わる // QString str1; // QString str2; if ( str1.endsWith(str2, Qt::CaseInsensitive) == true ) { // str1はstr2で終わる } else { // 終わらない }
コメント