8
13

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

StringUtilsの使えるメソッド整理

Last updated at Posted at 2020-02-29

StringUtilsには使えるメソッドが一杯あったので使って便利と思ったものを整理しました。
#StringUtilsとは
https://commons.apache.org/proper/commons-lang/apidocs/org/apache/commons/lang3/StringUtils.html

String型の文字列編集で色々と便利な操作をまとめたメソッドです。
Stringのメソッドとは違いヌルポが起きないように考慮してくれています。
nullチェックいらずになります。
StringUtilと似てるから注意

##isEmptyとisNotEmpty
isEmptyはStringでもあるけどこっちのはnullを許容、falseを返してくれる。
isNotEmptyはisEmptyの逆。

isEmpty.isNotEmpty
        String a = "1234";
        String b = "";
        String c = null;

        try {
        System.out.println(StringUtils.isEmpty(a));
        System.out.println(StringUtils.isNotEmpty(a));
        System.out.println(a.isEmpty());
        System.out.println(StringUtils.isEmpty(b));
        System.out.println(StringUtils.isNotEmpty(b));
        System.out.println(b.isEmpty());
        System.out.println(StringUtils.isEmpty(c));
        System.out.println(StringUtils.isNotEmpty(c));
        System.out.println(c.isEmpty());
        }catch (Exception e) {
            System.out.println("ぬるぽ");
        }
result.
false
true
false
true
false
true
true
false
ぬるぽ

##isBlankとisNotBlank
Stringには無い空白とnullを確かめてくれるメソッド。
変数の中の全てが空白でないと空白判定はされない。

isBlank.isNotBlank
        String a = "1234";
        String b = "12 4";
        String c = " ";
        String d = " ";
        String e = "";
        String f = null;

        System.out.println(StringUtils.isBlank(a));
        System.out.println(StringUtils.isNotBlank(a));
        System.out.println(StringUtils.isBlank(b));
        System.out.println(StringUtils.isNotBlank(b));
        System.out.println(StringUtils.isBlank(c));
        System.out.println(StringUtils.isNotBlank(c));
        System.out.println(StringUtils.isBlank(d));
        System.out.println(StringUtils.isNotBlank(d));
        System.out.println(StringUtils.isBlank(e));
        System.out.println(StringUtils.isNotBlank(e));
        System.out.println(StringUtils.isBlank(f));
        System.out.println(StringUtils.isNotBlank(f));
result.
false
true
false
true
true
false
true
false
true
false
true
false

##isAllLowerCase
小文字のみであるかを確認する。
空白、空文字、nullはfalse

isAllLowerCase.
        String a = "a";
        String b = "A";
        String c = "Aa";
        String d = "あ";
        String e = "1";
        String f = " ";
        String h = null;

        System.out.println(StringUtils.isAllLowerCase(a));
        System.out.println(StringUtils.isAllLowerCase(b));
        System.out.println(StringUtils.isAllLowerCase(c));
        System.out.println(StringUtils.isAllLowerCase(d));
        System.out.println(StringUtils.isAllLowerCase(e));
        System.out.println(StringUtils.isAllLowerCase(f));
        System.out.println(StringUtils.isAllLowerCase(h));
true
false
false
false
false
false
false

##isAllUpperCase
大文字のみであるか確認する。
空白、空文字、nullはfalse

isAllUpperCase.
        String a = "a";
        String b = "A";
        String c = "Aa";
        String d = "あ";
        String e = "1";
        String f = " ";
        String h = null;

        System.out.println(StringUtils.isAllUpperCase(a));
        System.out.println(StringUtils.isAllUpperCase(b));
        System.out.println(StringUtils.isAllUpperCase(c));
        System.out.println(StringUtils.isAllUpperCase(d));
        System.out.println(StringUtils.isAllUpperCase(e));
        System.out.println(StringUtils.isAllUpperCase(f));
        System.out.println(StringUtils.isAllUpperCase(h));
result.
false
true
false
false
false
false
false

##isAlphaとisAlphaSpace
isAlphaは文字であるか否かを確認する。数字、空白、空文字、nullはfalse
isAlphaSpaceはisAlphaの空白許容版

isAlpha.isAlphaSpace
        String a = "a";
        String b = "A";
        String c = "1";
        String d = "1aB";
        String e = "あ";
        String f = " ";
        String h = null;

        System.out.println(StringUtils.isAlpha(a));
        System.out.println(StringUtils.isAlpha(b));
        System.out.println(StringUtils.isAlpha(c));
        System.out.println(StringUtils.isAlpha(d));
        System.out.println(StringUtils.isAlpha(e));
        System.out.println(StringUtils.isAlpha(f));
        System.out.println(StringUtils.isAlpha(h));
result.
true
true
false
false
true
false
false

##isNumericとisNumericSpace
isNumericは数字かどうか確認を行う。数字、空白、空文字、nullはfalse
isNumericSpaceはisNumericの空白許容版

isNumeric.isNumericSpace
        String a = "a";
        String b = "A";
        String c = "1";
        String d = "1aB";
        String e = "あ";
        String f = " ";
        String h = null;

        System.out.println(StringUtils.isNumeric(a));
        System.out.println(StringUtils.isNumeric(b));
        System.out.println(StringUtils.isNumeric(c));
        System.out.println(StringUtils.isNumeric(d));
        System.out.println(StringUtils.isNumeric(e));
        System.out.println(StringUtils.isNumeric(f));
        System.out.println(StringUtils.isNumeric(h));
result.
false
false
true
false
false
false
false

##isAlphanumericとisAlphanumericSpace
isAlphanumeric = isAlpha + isNumeric
isAlphanumericSpace = isAlphaSpace + isNumericSpace

isAlphanumeric.isAlphanumericSpace
        String a = "a";
        String b = "A";
        String c = "1";
        String d = "1aB";
        String e = "あ";
        String f = " ";
        String h = null;

        System.out.println(StringUtils.isAlphanumeric(a));
        System.out.println(StringUtils.isAlphanumericSpace(a));
        System.out.println(StringUtils.isAlphanumeric(b));
        System.out.println(StringUtils.isAlphanumericSpace(b));
        System.out.println(StringUtils.isAlphanumeric(c));
        System.out.println(StringUtils.isAlphanumericSpace(c));
        System.out.println(StringUtils.isAlphanumeric(d));
        System.out.println(StringUtils.isAlphanumericSpace(d));
        System.out.println(StringUtils.isAlphanumeric(e));
        System.out.println(StringUtils.isAlphanumericSpace(e));
        System.out.println(StringUtils.isAlphanumeric(f));
        System.out.println(StringUtils.isAlphanumericSpace(f));
        System.out.println(StringUtils.isAlphanumeric(h));
        System.out.println(StringUtils.isAlphanumericSpace(h));
result.
true
true
true
true
true
true
true
true
true
true
false
true
false
false

##containsとcontainsNone
第1引数の中に第2引数が含まれているか確認する。null許容。
containsNoneはcontainsの反対

contains.containsNone
        String tar = "abcdef";
        String a = "a";
        String b = "B";
        String c = "abc";
        String d = "abC";
        String e = "";
        String f = null;

        try {
            System.out.println(StringUtils.contains(tar, a));
            System.out.println(StringUtils.containsNone(tar, a));
            System.out.println(tar.contains(a));
            System.out.println(StringUtils.contains(tar, b));
            System.out.println(StringUtils.containsNone(tar, b));
            System.out.println(tar.contains(b));
            System.out.println(StringUtils.contains(tar, c));
            System.out.println(StringUtils.containsNone(tar, c));
            System.out.println(tar.contains(c));
            System.out.println(StringUtils.contains(tar, d));
            System.out.println(StringUtils.containsNone(tar, d));
            System.out.println(tar.contains(d));
            System.out.println(StringUtils.contains(tar, e));
            System.out.println(StringUtils.containsNone(tar, e));
            System.out.println(tar.contains(e));
            System.out.println(StringUtils.contains(tar, f));
            System.out.println(StringUtils.containsNone(tar, f));
            System.out.println(tar.contains(f));
        } catch (Exception ex) {
            System.out.println("ぬるぽ");
        }
true
false
true
false
true
false
true
false
true
false
false
false
true
true
true
false
true
ぬるぽ

##equals
Stringのequalsメソッドのnullチェック版です。
どちらがnullでも使える。ただしどっちもnullでもfalseになる。

equals.
        String a = "a";
        String b = "abc";
        String c = " ";
        String d = "";
        String e = null;
        
        try {
            System.out.println(StringUtils.equals(a, a));
            System.out.println(a.equals(a));
            System.out.println(StringUtils.equals(a, b));
            System.out.println(a.equals(b));
            System.out.println(StringUtils.equals(a, c));
            System.out.println(a.equals(c));
            System.out.println(StringUtils.equals(a, d));
            System.out.println(a.equals(d));
            System.out.println(StringUtils.equals(a, e));
            System.out.println(a.equals(e));
            System.out.println(StringUtils.equals(c, c));
            System.out.println(c.equals(c));
            System.out.println(StringUtils.equals(c, d));
            System.out.println(c.equals(d));
            System.out.println(StringUtils.equals(d, d));
            System.out.println(d.equals(d));
            System.out.println(StringUtils.equals(d, e));
            System.out.println(e.equals(e));
            System.out.println(StringUtils.equals(e, e));
            System.out.println(StringUtils.equals(e, a));
            System.out.println(e.equals(e));
        } catch (Exception ex) {
            System.out.println("ぬるぽ");
        }
result.
true
true
false
false
false
false
false
false
false
false
true
true
false
false
true
true
false
ぬるぽ

##join
文字列のリストを,(カンマ)区切りでならべて一つの文字列にしてくれる。
Stringオブジェクトのjoinはリストオブジェクトがnullの場合ヌルポで落ちてしまう。

join.
        List<String> strList = new ArrayList<>();
        List<String> nullList = null;
        try {
            for (int i = 0; i < 10; i++) {
                strList.add(Integer.toString(i));
            }
            strList.add(" ");
            strList.add("");
            strList.add(null);

            System.out.println(StringUtils.join(strList));
            System.out.println(StringUtils.join(nullList));
            System.out.println(String.join(",", nullList));
        } catch (Exception e) {
            System.out.println("ぬるぽ");
        }
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9,  , , null]

ぬるぽ

##leftPad、rightPad
文字列の左、右側を指定の文字数になるように空白で埋めてくれる。
空白梅ではなく埋める文字を指定する事もできる。

leftPad.rightPad
        String a = "a";
        System.out.println(StringUtils.leftPad(a, 5));
        System.out.println(StringUtils.leftPad(a, 5, "0"));
        System.out.println(StringUtils.rightPad(a, 5));
        System.out.println(StringUtils.rightPad(a, 5, "0"));
result.
    a
0000a
a    
a0000

##repeat
指定文字列を指定数繰り返した文字列を作成してくれる。
なおnullの場合は繰り返さない。

repeat.
        String a = "abc";
        String b = " ";
        String c = "";
        String d = null;
        System.out.println(StringUtils.repeat(a, 5));
        System.out.println(StringUtils.repeat(b, 5));
        System.out.println(StringUtils.repeat(c, 5));
        System.out.println(StringUtils.repeat(d, 5));
result.
abcabcabcabcabc
     

null

##swapCase
大文字を小文字に、小文字を大文字に自動変換!

swapCase.
        String a = "abcdefgh";
        String b = "ABCDEFGH";
        String c = "aBcDeFgH";
        System.out.println(StringUtils.swapCase(a));
        System.out.println(StringUtils.swapCase(b));
        System.out.println(StringUtils.swapCase(c));
result.
ABCDEFGH
abcdefgh
AbCdEfGh

##defaultString
対象文字列がnullの場合に空文字に変更してくれます。
nullを表示したくないときに便利。

defaultString.
        String a = "abc";
        String b = " ";
        String c = "";
        String d = null;
        System.out.println(StringUtils.defaultString(a));
        System.out.println(StringUtils.defaultString(b));
        System.out.println(StringUtils.defaultString(c));
        System.out.println(StringUtils.defaultString(d));
result.
abc
    


8
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
13

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?