[iOS][Android][小ネタ] 文字列の先頭と末尾のスペースを削除する方法

2016.11.24

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

空白を除去

小ネタです。
文字列の先頭と末尾の空白を削除する方法を iOS, Android それぞれでご紹介します。
iOS と Android では、この処理について多少の違いが存在します。

iOS

サンプルコード

let text = "   i have a pen   \n"
let trimmedText = text.trimmingCharacters(in: .whitespacesAndNewlines)

print("############")
print(text)
print("############")

print("============")
print(trimmedText)
print("============")

実行結果

############
   i have a pen   

############
============
i have a pen
============

trimmingCharacters() というメソッドを使用します。
引数には削除する文字の集合を指定します。
ここでは whitespacesAndNewlines を指定しています。
これは空白と改行を削除するための記述です。
この他にも 数字大文字小文字空白だけ改行だけ などの指定も可能です。

あくまで除去してくれる文字列は 先頭末尾 であることに注意してください。
文字列の中間に含まれるものは除去されません。

iOS の特徴として、空白の除去は 全角スペースにも適用されます

Android

サンプルコード

String text = "   i have an apple   \n";
String trimmedText = text.trim();

System.out.println("############");
System.out.println(text);
System.out.println("############");

System.out.println("============");
System.out.println(trimmedText);
System.out.println("============");

実行結果

############
   i have an apple   
############
============
i have an apple
============

trim() というメソッドを使用します。
これだけで先頭と末尾の空白が除去されます。
iOS よりも簡単ですね。

ただし、このメソッドは 全角スペースには適用されません のでご注意ください。

また、動作確認をしていて気がついたのですが、Java では文字列の先頭や末尾に改行が含まれていた場合、それはデフォルトで除去されるようです。
(間違えていたらすみません)

まとめ

  • iOS では trimmingCharacters() メソッドを使用する
    • 全角スペースにも適用される
  • Android では trim() メソッドを使用する
    • 全角スペースには適用されない

ユーザーが入力可能なフィールドで、もし先頭や末尾に空白が不要な場合はこれらのメソッドを使ってガードしてしまいましょう。

リンク

ミレニアム・ファルコン製作日記 #45

45 号 表紙

mfd_45_1

パーツ

mfd_45_2

mfd_45_3

mfd_45_4

成果

mfd_45_5

mfd_45_6

今回の作業は以下の 2 つでした。

  • 船外機械にディテールパーツを取り付ける
  • ハウジングにディテールパーツを取り付ける

前号と同じように船外機械にディテールパーツを取り付けました。
左右の反転に気をつけて、慎重に取り付けます。
未だにミスなし!

ハウジングにも同様にディテールパーツを取り付けました。
こちらは今後、2 つの船外機械にまたがるように取り付けます。
ハウジングとは、機械の筐体部品のうち装置などを包んで保護する覆いの部品こと、だそうです。

大小様々なパーツが増えてきたため、一つの収納ボックスでは収まりきらなくなってきました。
どうしたものか。

R2-D2 / BB-8 ポップコーンバケット

ゲットだぜ!

x

それではまた次回。

May the Force be with you!