スカラ文字列
次の例では、定数文字列を代入します:
object Test { val greeting: String = "Hello,World!" def main(args: Array[String]) { println( greeting ) } }
上記の例は、それはString型(java.lang.Stringで)であり、変数挨拶、文字列定数を定義します。
Scalaで、文字列型は、実際にJavaのStringである、それはStringクラスを持っていません。
オブジェクトが変更できないようにスカラ座では、文字列は不変オブジェクトです。 これは、あなたが変更した場合、文字列は新しい文字列オブジェクトを生成することを意味します。
そのようなアレイのような他のオブジェクトは、可変オブジェクトです。 次に、我々は方法の共通java.lang.Stringでご紹介します。
文字列を作成します
例は以下のとおりである文字列を作成します。
var greeting = "Hello World!"; 或 var greeting:String = "Hello World!";
Scalaのコンパイラが自動的に文字列に文字列の種類を推測しますので、あなたは、文字列に文字列型を指定しないでください。
もちろん、我々はまた、例として、文字列型として直接表示する文字列を宣言することができます。
object Test { val greeting: String = "Hello, World!" def main(args: Array[String]) { println( greeting ) } }
上記のコードの実装、出力は次のようになります。
$ scalac Test.scala $ scala Test Hello, world!
私たちは、あなたが文字列を作成する必要がある場合は、以前のStringオブジェクトは、不変で言及修正することができるように、あなたは、次の例を文字列ビルダクラスを使用することができます。
object Test { def main(args: Array[String]) { val buf = new StringBuilder; buf += 'a' buf ++= "bcdef" println( "buf is : " + buf.toString ); } }
上記のコードの実装、出力は次のようになります。
$ scalac Test.scala $ scala Test buf is : abcdef
文字列の長さ
私たちは、文字列の長さを取得するには長さ()メソッドを使用することができます。
object Test { def main(args: Array[String]) { var palindrome = "www.w3big.com"; var len = palindrome.length(); println( "String Length is : " + len ); } }
上記のコードの実装、出力は次のようになります。
$ scalac Test.scala $ scala Test String Length is : 14
文字列連結
2つの文字列を接続するための連結()メソッドを使用して、Stringクラス:
string1.concat(string2);
例のデモ:
scala> "本教程官网: ".concat("www.w3big.com"); res0: String = 本教程官网: www.w3big.com
同様に、あなたはまた、接続するために、プラス記号(+)を使用することができます。
scala> "本教程官网: " + " www.w3big.com" res1: String = 本教程官网: www.w3big.com
のは、完全な例を見てみましょう:
object Test { def main(args: Array[String]) { var str1 = "本教程官网:"; var str2 = "www.w3big.com"; var str3 = "本教程的 Slogan 为:"; var str4 = "学的不仅是技术,更是梦想!"; println( str1 + str2 ); println( str3.concat(str4) ); } }
上記のコードの実装、出力は次のようになります。
$ scalac Test.scala $ scala Test 本教程官网:www.w3big.com 本教程的 Slogan 为:学的不仅是技术,更是梦想!
フォーマットされた文字列を作成します。
Stringクラスは、文字列の出力、文字列フォーマットを()メソッドは、Stringオブジェクトではなく、のPrintStreamオブジェクトを返しますフォーマットするのprintf()メソッドを使用することができます。 次の例では、使用のprintf()メソッドを示しています。
object Test { def main(args: Array[String]) { var floatVar = 12.456 var intVar = 2000 var stringVar = "本教程!" var fs = printf("浮点型变量为 " + "%f, 整型变量为 %d, 字符串为 " + " %s", floatVar, intVar, stringVar) println(fs) } }
上記のコードの実装、出力は次のようになります。
$ scalac Test.scala $ scala Test 浮点型变量为 12.456000, 整型变量为 2000, 字符串为 本教程!()
文字列メソッド
一般的に使用されるメソッドをjava.lang.Stringで次の表には、Scalaで使用することができます。
いいえ。 | メソッドと説明 |
---|---|
1 | char型のcharAt(int型のインデックス) 指定された位置の文字を返します |
2 | int型のcompareTo(オブジェクトo) 文字列オブジェクトの比較 |
3 | int型のcompareTo(文字列anotherString) 2つの文字列を辞書と比較 |
4 | int型compareToIgnoreCase(String str)文字 ケースを無視して、2つの文字列を辞書と比較 |
5 | 文字列連結(String str)文字 この文字列に接続されている指定した文字列の末尾 |
6 | ブールcontentEquals(StringBufferのSB) 指定されたStringBufferに、この文字列は、比較します。 |
7 | 静的な文字列copyValueOf(char型[]のデータ ) 返す文字列配列は、文字シーケンスを表します |
8 | 静的な文字列copyValueOf(char型[]データ 、オフセットint型、int型のカウント) 返す文字列配列は、文字シーケンスを表します |
9 | ブールendsWith(String型の接尾辞) この文字列が、指定された接尾辞で終わるかどうか |
10 | ブール等号(anObjectオブジェクト) 指定されたオブジェクトの比較にこの文字列 |
11 | ブールequalsIgnoreCase(文字列anotherString) ケースの考慮事項を無視して、別の文字列にこの文字列を比較 |
12 | バイトgetBytesメソッド() プラットフォームのデフォルトの文字を使用すると、この文字列のエンコードされたバイトシーケンスを設定し、結果を新規バイト配列に格納します |
13 | バイト[] getBytesメソッド(文字列たcharsetName このStringエンコードされたバイト列指定された文字セットを使用し、結果を新規バイト配列に格納します |
14 | ボイドGetCharsは(int型srcBegin、int型srcEnd 、char型[] dstの、int型dstBegin) その後、文字列は、宛先の文字列にコピーされ |
15 | int型のhashCode() この文字列のハッシュコードを返します。 |
16 | int型のindexOf(int型CH) 最初に出現したこの文字列内の指定された文字インデックスを返します |
17 | int型のindexOf(int型CH、int型fromIndexの ) シャトルは、指定された文字がこの文字列内のインデックスを返し、検索を開始するために指定されたインデックスから、最初に表示されます |
18 | int型のindexOf(String str)文字 インデックスの最初の発生時にこの文字列で指定された部分文字列を返します。 |
19 | int型のindexOf(文字列str、int型fromIndexの ) 指定したインデックスから始まり、インデックスの最初の発生時にこの文字列で指定された部分文字列を返します。 |
20 | 文字列のインターン() オブジェクトの標準の文字列表現を返します。 |
21 | int型のlastIndexOf(int型CH) 最後のインデックスが表示されますのこの文字列内の文字を返します。 |
22 | int型のlastIndexOf(int型CH、int型fromIndexの ) 逆探索の先頭から指定したインデックスの最後に出現する、この文字列内の指定された文字インデックスを返します |
23 | int型のlastIndexOf(String str)文字 一番右に出現指数のこの文字列で指定された部分文字列を返します。 |
24 | int型のlastIndexOf(文字列str、int型fromIndexの ) 逆探索の指定したインデックスから始まり、インデックスの最後の発生時にこの文字列で指定された部分文字列を返します。 |
25 | int型の長さ() この文字列の長さを返します |
26 | ブールマッチ(文字列の正規表現) この文字列が指定された正規表現と一致通知されます |
27 | ブールregionMatches(ブールignoreCaseは、int型のtoffset 、他の文字列、int型のooffset、int型のlen) テストの2つの文字列領域が等しい場合 |
28 | ブールregionMatches(int型のtoffset、他の文字列 、int型のooffset、int型のlen) テストの2つの文字列領域が等しい場合 |
29 | 文字列が置き換え(文字oldChar、char型newCharに ) これは、すべてのoldCharを置換したnewCharにこの文字列である新しい文字列を返します。 |
30 | 文字列でReplaceAll(文字列の正規表現、文字列置換 指定された置換文字列を持つサブストリングはすべて与えられた正規表現に一致する置き換え |
31 | 文字列replaceFirstという(文字列の正規表現、文字列置換 ) この文字列を交換して与えられた置換した最初の部分は、指定された正規表現と一致します |
32 | String []型分割(文字列の正規表現) 指定された正規表現のマッチングによると、この文字列を分割 |
33 | String []型分割(文字列の正規表現、 int型の制限) この文字列を分割するために指定した正規表現に一致するようによれば、 |
34 | ブールのstartsWith(文字列の接頭辞) この文字列が指定された接頭辞で始まるかどうかをテスト |
35 | ブールのstartsWith(文字列の接頭辞、int型のtoffset ) サブストリングテストは、指定されたインデックスから始まり、この文字列は、指定された接頭辞で始まります。 |
36 | たCharSequenceさらに、subSequence(int型beginIndexに、int型endIndexに ) それは、このシーケンスのサブシーケンスである新規文字シーケンスを返します。 |
37 | 文字列部分(int型beginIndexの) これは、この文字列の部分文字列である新しい文字列を返します。 |
38 | 文字列部分(int型beginIndexに、int型endIndexに ) この文字列の部分文字列である新しい文字列を返します。 |
39 | ()[] toCharArrayをchar型 この文字列を新しい文字配列に変換します |
40 | 文字列toLowerCaseメソッド() このString内のルールのデフォルトロケールを使用して、すべての文字が小文字に変換されます |
41 | 文字列toLowerCaseメソッド(ロケールロケール) すべての文字が小文字に変換され、このString内のロケールのルールを考えます |
42 | 文字列のtoString() このオブジェクト自体を返します(既に文字列です!) |
43 | 文字列は、toUpperCase() すべての文字が大文字に変換され、このString内のルールのデフォルトロケールを使用して、 |
44 | 文字列は、toUpperCase(ロケールロケール) すべての文字が大文字に変換され、この文字列で指定されたLocaleの規則 |
45 | String型のトリム() 空白を最初から最後まで指定された文字列を削除します。 |
46 | 静的な文字列valueOfメソッド(プリミティブデータタイプx ) パラメータの型の文字列表現を返します。 |