「Java」Character.isSurrogate()でサロゲートペア文字を判定する方法
説明
public static boolean isSurrogate(char ch)
指定されたchar値がUnicode サロゲート・コード単位かどうかを判定します。
Javaコード
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にサロゲートペア文字がない