「Java」Character.isSurrogate()でサロゲートペア文字を判定する方法

2020年10月8日

説明
public static boolean isSurrogate(char ch)
指定されたchar値がUnicode サロゲート・コード単位かどうかを判定します。
Javaコード

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
package com.arkgame.study;
public class IsSurrogateDemo {
protected static final boolean flgT = true;
protected static final boolean flgF = false;
public static boolean strHasSurrogate(String target) {
for (char cft : target.toCharArray()) {
if (Character.isSurrogate(cft)) {
return flgT;
}
}
return flgF;
}
public static void main(String[] args) {
String strA = "abc?def123";
String strB = "abc-def123";
if (strHasSurrogate(strA)) {
System.out.println("変数Aにサロゲートペア文字があり");
} else {
System.out.println("変数Aにサロゲートペア文字がない");
}
if (strHasSurrogate(strB)) {
System.out.println("変数Bにサロゲートペア文字があり");
} else {
System.out.println("変数Bにサロゲートペア文字がない");
}
}
}
package com.arkgame.study; public class IsSurrogateDemo { protected static final boolean flgT = true; protected static final boolean flgF = false; public static boolean strHasSurrogate(String target) { for (char cft : target.toCharArray()) { if (Character.isSurrogate(cft)) { return flgT; } } return flgF; } public static void main(String[] args) { String strA = "abc?def123"; String strB = "abc-def123"; if (strHasSurrogate(strA)) { System.out.println("変数Aにサロゲートペア文字があり"); } else { System.out.println("変数Aにサロゲートペア文字がない"); } if (strHasSurrogate(strB)) { System.out.println("変数Bにサロゲートペア文字があり"); } else { System.out.println("変数Bにサロゲートペア文字がない"); } } }
package com.arkgame.study;

public class IsSurrogateDemo {

      protected static final boolean flgT = true;
      protected static final boolean flgF = false;

      public static boolean strHasSurrogate(String target) {

            for (char cft : target.toCharArray()) {
                  if (Character.isSurrogate(cft)) {
                        return flgT;
                  }
            }
            return flgF;
      }

      public static void main(String[] args) {

            String strA = "abc?def123";
            String strB = "abc-def123";
            if (strHasSurrogate(strA)) {
                  System.out.println("変数Aにサロゲートペア文字があり");
            } else {
                  System.out.println("変数Aにサロゲートペア文字がない");
            }
            if (strHasSurrogate(strB)) {
                  System.out.println("変数Bにサロゲートペア文字があり");
            } else {
                  System.out.println("変数Bにサロゲートペア文字がない");
            }
      }

}

結果
変数Aにサロゲートペア文字があり
変数Bにサロゲートペア文字がない

Software

Posted by arkgame