Menu
Coddy logo textTech

大文字・小文字とトリム

CoddyのSwiftジャーニー「ロジックとフロー」セクションの一部 — レッスン 2/56。

大文字・小文字を変換するメソッドは新しい文字列を返し、元の文字列は変更しません。ユーザーから入力されたテキストを比較する前に、これらのメソッドを使用してください。

let raw = "  Hello World  "
print(raw.uppercased())          // "  HELLO WORLD  "
print(raw.lowercased())          // "  hello world  "

先頭と末尾の空白を削除するには、Foundation(このプラットフォームでは既にインポートされています)の trimmingCharacters(in:) を使用します:

let cleaned = raw.trimmingCharacters(in: .whitespaces)
print(cleaned)                   // "Hello World"
print(cleaned.count)             // 11

.whitespaces はスペースとタブをカバーします。入力に末尾の \n が含まれる可能性がある場合は、.whitespacesAndNewlines を使用してください。

challenge icon

チャレンジ

初心者

2行の入力を読み取ります。両方を文字列として扱い、前後の空白を無視して、大文字と小文字を区別せずに比較してください。以下を出力します:

  1. クリーンアップ(トリミング)および小文字化されたバージョンが等しい場合は match、そうでない場合は differ
  2. 1行目のクリーンアップ(トリミング)されたバージョンを大文字で出力

1行目の入力が Hello World で、2行目が HELLO world の場合、出力は以下のようになります:

match
HELLO WORLD

チートシート

文字列の大文字・小文字変換メソッドは、新しい文字列を返します(元の文字列は変更されません):

str.uppercased()   // "hello" → "HELLO"
str.lowercased()   // "HELLO" → "hello"

trimmingCharacters(in:) を使用して、先頭および末尾の空白を削除します:

let cleaned = raw.trimmingCharacters(in: .whitespaces)         // スペースとタブ
let cleaned = raw.trimmingCharacters(in: .whitespacesAndNewlines) // \n を含む

自分で試してみよう

let a = readLine()!
let b = readLine()!

// TODO: 比較のためにトリミングと小文字化を行う。match/differを表示した後、トリミングして大文字化したaを表示する
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

ロジックとフローのすべてのレッスン