0
0

【kotlin】文字列の中に特殊文字が含まれているか確認する方法

Posted at

はじめに

文字列操作って案外大変だったりしますよね。
特に正規表現を使って行うようなバリデーションなどは条件によっては少し考えてしまうことも多いのではないでしょうか。
今回はバリデーションでありがちな文字列の中の特殊文字の有無を判定する方法をまとめておこうと思います。

文中の特殊文字の判定方法

文中の特殊文字の有無を判定するには、以下により実現可能です。

main.kt
fun hasIncludeEmoji(str: String) {
    val regex = Regex("\\p{So}")
    return regex.containsMatchIn(str)
}

val value1 = hasIncludeEmoji("あいうえお😊") // true
val value2 = hasIncludeEmoji("あいうえお") // false

以上になります。
今回はUnicodeのSymbolOtherカテゴリに属するものを判定する形になっていますが、SymbolOtherカテゴリには様々な文字ブロックが存在するので、バリデーションによっては特定のブロックのみに絞るなどの対応をしても良いかもしれませんね。

さいごに

正規表現も複雑な領域ではありますがわかると中々面白いですよね。
実験的にさまざまなパターンの検証をしたくなります。

0
0
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
0
0