文字列操作あれこれ-Java編-
とりあえず備忘録としてまとめています。
実践的ではないかもしれません。
とりあえずJavaから書きます。
変なこと書いてたら指摘してください。
文字列結合
Sample1.java
/**文字リテラルや定数の結合**/
String final CONSTSTR = "A";
String strA = "A" + "B" + CONSTSTR; // リテラルや定数は+で結合すると良い
System.out.println(strA); // ABA
/**その他の結合**/
String strB = "B";
String strC = "C";
StringBuilder buff = new StringBuilder();
buff.append(strA);
buff.append(strB);
buff.append(strC);
この記事が詳しいです
https://qiita.com/yoshi389111/items/67354ba33f9271ef2c68
文字列を数字に変換
Sample2.java
/**普通に文字列から数字に変換**/
String strA = "1";
int numA = Integer.parseInt(strA);
/**例外処理を考慮し、とりあえず例外時は0を返却**/
String hoge = "hoge";
try {
int numB = Integer.parseInt(hoge);
} catch (NumberFormatException e) {
return 0;
}
文字列を切り出す(範囲指定)
Sample3.java
/**切り出す始点と終点を指定して切り出し**/
String strA = "12345";
strA.substring(0,3); // 123
strA.substring(1,3); // 23
/**切り出す始点のみを指定して切り出し**/
strA.substring(2); // 345
文字列を一文字だけ切り出す
Sample4.java
/**一文字だけChar型で切り出し**/
String strA = "12345";
Char charA = strA.charAt(3); // 4
前後の空白を削除する
Sample5.java
/**前後の空白(半角のみ)を削除**/
String strA = " ABC ";
strA.trim(); // ABC
文字列を置換する
Sample6.java
String strA = "ABCABCABC";
/**全てのAをXに置き換える**/
strA.replace('A', 'X'); // XBCXBCXBC
/**一番最初のAのみXに置き換える**/
strA.replaceFirst('A', 'X'); // XBCABCABC
文字列の完全一致判定
Sample7.java
String strA = "ABC";
String strB = null;
/**完全一致しているか判定**/
"ABC".equals(strA); // true
"CBA".equals(strA); // false
/**判定する文字列がnullの場合はfalse判定**/
"ABC".equals(strB); // false
大文字小文字を無視して文字列の一致判定
Sample8.java
String strA = "ABC";
String strB = "xyz";
/**大文字小文字を無視して一致しているか判定**/
"abc".equalsIgnoreCase(strA); // true
"XYZ".equalsIgnoreCase(strB); // true
文字列を前方一致か後方一致か判定
Sample9.java
String strA = "ABCDE";
/**前方一致、あるいは後方一致しているか判定**/
strA.startsWith("AB"); // true
strA.endWith("DE"); // true
文字列が空文字か判定
Sample10.java
String strA = "";
/**文字列が空文字か判定**/
strA.isEmpty(); // true
特定の文字列が含まれているか判定
Sample11.java
String strA = "ABCDEFGHIJ";
/**特定文字列が含まれているか判定**/
strA.contains("DE"); // true