String
ProcessingにおけるStringは、一連の文字です。
Stringクラスには、個々の文字を調べたり、文字列を比較したり、文字列を検索したり、文字列の一部を抽出したり、文字列全体を大文字と小文字に変換するメソッドが含まれています。
文字列は常に二重引用符( "Abc")で定義され、文字は常に一重引用符( 'A')で定義されます。
2つのStringの内容を比較するには、if(a == b)ではなく、if(a.equals(b))のようにequals()メソッドを使用します。
StringはObjectであるため、それらを==演算子と比較すると、両方のStringが同じメモリ位置に格納されているかどうかだけが比較されます。
equals()メソッドを使用すると、実際の内容が確実に比較されます。(トラブルシューティングリファレンスには長い説明があります。)
文字列は二重引用符で囲まれて定義されているため、文字列自体にそのようなマークを含めるには\(バックスラッシュ)文字を使用する必要があります。 (上記の3番目の例を参照してください。)
このページに記載されたものよりも多くの文字列メソッドがあります。追加のドキュメントは、Javaの公式ドキュメントにオンラインで掲載されています。
Processingで使用するStringの使い方は以下の通りです。
String str1 = "CCCP";
char data[] = {'C', 'C', 'C', 'P'};
String str2 = new String(data);
println(str1); // "CCCP"をコンソールに表示する
println(str2); // "CCCP"をコンソールに表示する
// Stringオブジェクトの比較。以下の参照を参照してください。
String p = "potato";
if (p == "potato") {
println("p == potato, yep."); // これは出力されません
}
// 2つの文字列を比較する正しい方法
if (p.equals("potato")) {
println("Yes, the contents of p and potato are the same.");
}
// バックスラッシュを使用して文字列に引用符を含める
String quoted = "This one has \"quotes\"";
println(quoted); // これは "引用符"
図2:プログラム実行結果
表1:メソッド一覧
項目 | 内容 |
charAt() | 指定されたインデックスにある文字を返します。 |
equals() | 文字列を指定されたオブジェクトと比較します。 |
indexOf() | 入力文字列内の部分文字列が最初に出現したときのインデックス値を返します。 |
length() | 入力文字列内の文字数を返します。 |
substring() | 入力文字列の一部である新しい文字列を返します。 |
toLowerCase() | すべての文字を小文字に変換します。 |
toUpperCase() | すべての文字を大文字に変換します。 |
〇Stringの構文
String(data)
String(data, offset, length)
〇Stringのパラメータ
data : 文字にデコードされるバイトの配列、または文字列に結合される
文字の配列(byteまたはchar)
offset : 最初の文字のインデックス(int)
length : 文字数(int)