Rentetan skala


Contoh berikut memberikan rentetan kepada pemalar:

object Test {
   val greeting: String = "Hello,World!"

   def main(args: Array[String]) {
      println( greeting )
   }
}

Contoh di atas mentakrifkan salam pembolehubah, iaitu pemalar rentetan dan jenisnya ialah Rentetan (java.lang.String).

Dalam Scala, jenis rentetan sebenarnya Java String, yang tidak mempunyai kelas String itu sendiri.

Dalam Scala, String ialah objek tidak berubah, jadi objek tidak boleh diubah suai. Ini bermakna jika anda mengubah suai rentetan, objek rentetan baharu akan dihasilkan.

Tetapi objek lain, seperti tatasusunan, ialah objek boleh ubah. Seterusnya kami akan memperkenalkan anda kepada kaedah java.lang.String yang biasa digunakan.



Buat rentetan

Buat contoh rentetan seperti berikut:

var greeting = "Hello World!";

或

var greeting:String = "Hello World!";

Anda tidak semestinya menentukan jenis Rentetan untuk rentetan, Kerana pengkompil Scala secara automatik akan membuat kesimpulan bahawa jenis rentetan ialah String.

Sudah tentu, kita juga boleh terus mengisytiharkan rentetan sebagai Jenis Rentetan, seperti yang ditunjukkan dalam contoh berikut:

object Test {
   val greeting: String = "Hello, World!"

   def main(args: Array[String]) {
      println( greeting )
   }
}

Laksanakan kod di atas, hasil keluarannya ialah:

$ scalac Test.scala
$ scala Test
Hello, world!

Seperti yang kami nyatakan sebelum objek String tidak boleh diubah Jika anda perlu mencipta rentetan yang boleh diubah suai, anda boleh menggunakan kelas String Builder, seperti yang ditunjukkan dalam contoh berikut:

object Test {
   def main(args: Array[String]) {
      val buf = new StringBuilder;
      buf += 'a'
      buf ++= "bcdef"
      println( "buf is : " + buf.toString );
   }
}

Jalankan instance»

Laksanakan Hasil output kod di atas ialah:

$ scalac Test.scala
$ scala Test
buf is : abcdef

Panjang rentetan

Kita boleh menggunakan kaedah length() untuk mendapatkan panjang rentetan :

object Test {
   def main(args: Array[String]) {
      var palindrome = "www.php.cn";
      var len = palindrome.length();
      println( "String Length is : " + len );
   }
}

Laksanakan kod di atas, Hasil output ialah:

$ scalac Test.scala
$ scala Test
String Length is : 14

Sambungan rentetan

Kaedah concat() digunakan dalam kelas String untuk menyambung dua rentetan:

string1.concat(string2);

Contoh demonstrasi:

scala> "php中文网官网: ".concat("www.php.cn");
res0: String = php中文网官网: www.php.cn

Begitu juga, anda juga boleh menggunakan tanda tambah (+) untuk menyambung:

scala> "php中文网官网: " + " www.php.cn"
res1: String = php中文网官网:  www.php.cn

Mari kita lihat contoh lengkap:

object Test {
   def main(args: Array[String]) {
      var str1 = "php中文网官网:";
      var str2 =  "www.php.cn";
      var str3 =  "php中文网的 Slogan 为:";
      var str4 =  " php中文网";
      println( str1 + str2 );
      println( str3.concat(str4) );
   }
}

Laksanakan kod di atas, hasil keluarannya ialah:

$ scalac Test.scala
$ scala Test
php中文网官网:www.php.cn
php中文网的 Slogan 为: php中文网

Buat rentetan terformat

Dalam kelas String anda boleh menggunakan kaedah printf() untuk memformat rentetan dan mengeluarkannya Kaedah format String() boleh mengembalikan objek String dan bukannya objek PrintStream. Contoh berikut menunjukkan penggunaan kaedah printf():

object Test {
   def main(args: Array[String]) {
      var floatVar = 12.456
      var intVar = 2000
      var stringVar = "php中文网!"
      var fs = printf("浮点型变量为 " +
                   "%f, 整型变量为 %d, 字符串为 " +
                   " %s", floatVar, intVar, stringVar)
      println(fs)
   }
}

Laksanakan kod di atas, hasil output ialah:

$ scalac Test.scala
$ scala Test
浮点型变量为 12.456000, 整型变量为 2000, 字符串为  php中文网!()

Kaedah rentetan

Yang berikut senarai jadual java Kaedah yang biasa digunakan dalam .lang.String boleh digunakan dalam Scala:

Menggantikan semua subrentetan rentetan ini yang sepadan dengan ungkapan biasa yang diberikan dengan penggantian yang diberikanGanti rentetan ini dengan penggantian yang diberikan sepadan dengan reguler yang diberikan ungkapan Subrentetan pertama Pisahkan rentetan ini berdasarkan padanan ungkapan biasa yang diberikan Pisah rentetan ini mengikut padanan ungkapan biasa yang diberikanUji sama ada rentetan ini bermula dengan awalan yang ditentukanMenguji sama ada subrentetan rentetan ini bermula pada indeks yang ditentukan bermula dengan awalan yang ditentukan. Kembalikan Aksara baharu jujukan, yang merupakan jujukan daripada jujukan ini Mengembalikan rentetan baharu yang merupakan subrentetan rentetan iniMengembalikan rentetan baharu yang merupakan subrentetan rentetan iniTukar rentetan ini kepada tatasusunan aksara baharuMenukar semua aksara dalam Rentetan ini kepada huruf kecil menggunakan peraturan tempat lalaiGunakan peraturan Locale yang diberikan untuk semua elemen dalam String Characters ini ditukar kepada huruf kecil
Nombor siriKaedah dan penerangan
1

char charAt(int index)

Mengembalikan aksara pada kedudukan yang ditentukan

2

int compareTo(Object o)

Banding rentetan dengan objek

3

int compareTo(String anotherString)

Membandingkan dua rentetan secara leksikografik

4

int compareToIgnoreCase(String str)

Membandingkan dua rentetan dalam susunan leksikografi, tanpa mengira kes

5

String concat(String str)

Menggabungkan rentetan yang ditentukan ke hujung rentetan ini

6

boolean contentEquals(StringBuffer sb)

Membandingkan rentetan ini dengan StringBuffer yang ditentukan.

7

statik String copyValueOf(char[] data)

Kembali kepada yang dinyatakan array String

8

statik String copyValueOf(char[] data, int offset, int count)

Mengembalikan String yang mewakili jujukan aksara dalam tatasusunan yang ditentukan

9

boolean endsWith(String suffix)

Menguji sama ada rentetan ini berakhir dengan akhiran yang ditentukan

10

boolean sama(Object anObject )

Membandingkan rentetan ini dengan objek yang ditentukan

11

boolean equalsIgnoreCase(String anotherString )

Membandingkan String ini dengan String lain, tanpa mengira kes

12

bait getBytes ()

Enkodkan Rentetan ini ke dalam jujukan bait menggunakan set aksara lalai platform dan simpan hasilnya ke dalam tatasusunan bait baharu

13

bait[] getBytes(String charsetName

Gunakan set aksara yang ditentukan untuk mengekod String ini ke dalam jujukan bait dan simpan hasilnya ke dalam tatasusunan bait baharu

14

void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)

Salin aksara daripada rentetan ini ke tatasusunan aksara sasaran

15

int hashCode()

Mengembalikan kod cincang rentetan ini

16

int indexOf(int ch)

Mengembalikan indeks kejadian pertama aksara yang ditentukan dalam rentetan ini

17

int indexOf(int ch , int fromIndex)

Mengembalikan indeks tempat aksara yang dinyatakan muncul buat kali pertama dalam rentetan ini, daripada indeks mulakan carian yang ditentukan

18

int indexOf(String str)

Kembalikan sub-karakter yang ditentukan Indeks kejadian pertama rentetan dalam rentetan ini

19

int indexOf(String str, int fromIndex)

Mengembalikan indeks kejadian pertama bagi subrentetan ditentukan dalam rentetan ini, bermula pada indeks yang ditentukan

20

String intern()

Mengembalikan perwakilan biasa bagi objek rentetan

21

int lastIndexOf(int ch)

Mengembalikan indeks kejadian terakhir aksara yang ditentukan dalam rentetan ini

22

int lastIndexOf(int ch , int fromIndex)

Mengembalikan indeks kejadian terakhir aksara yang ditentukan dalam rentetan ini, daripada Mulakan carian terbalik pada indeks yang ditentukan

23

int lastIndexOf(String str)

Mengembalikan indeks kejadian paling kanan subrentetan yang ditentukan dalam rentetan ini

24

int lastIndexOf(String str, int fromIndex)

Mengembalikan indeks kejadian terakhir subrentetan yang ditentukan dalam rentetan ini, memulakan carian terbalik daripada indeks yang ditentukan

25

int length()

Mengembalikan panjang rentetan ini

26

boolean padanan(String regex)

Memberitahu sama ada rentetan ini sepadan dengan ungkapan biasa yang diberikan

27

wilayah booleanPadanan(boolean ignoreCase, int toffset, String other, int ooffset, int len)

Uji sama ada dua rantau rentetan adalah sama

28

wilayah boolean Padanan(int toffset, String other, int ooffset, int len)

Uji dua rentetan Adakah kawasan sama?

29

String replace(char oldChar, char newChar)

Kembalikan rentetan baharu yang diperoleh dengan menggantikan semua kejadian oldChar dalam rentetan ini dengan newChar String replaceAll(String regex, String replacement

31

String replaceFirst(String regex, String replacement)

32

String[] split(String regex)

33

String[] split(String regex , int limit)

34

boolean bermulaDengan( Awalan rentetan)

35

boolean startsWith(Awalan rentetan, int toffset)

36

CharSequence subSequence(int beginIndex, int endIndex)

37

subrentetan rentetan(int beginIndex)

38

subrentetan rentetan(int beginIndex, int endIndex)

39

char[ ] toCharArray()

40

String toLowerCase()

41

String toLowerCase(Locale locale)

42

String toString()

Mengembalikan objek ini sendiri (ia sudah menjadi rentetan! )

43

String toUpperCase()

Gunakan peraturan tempat lalai untuk Semua ini aksara dalam String ditukar kepada huruf besar

44

String keUpperCase(Locale locale)

Menukar semua aksara dalam Rentetan ini kepada huruf besar menggunakan peraturan Tempatan yang diberikan

45

Pangkas rentetan( )

Menukar semua aksara dalam Rentetan ini kepada huruf besar menggunakan peraturan Tempatan yang diberikan

46

statik Nilai rentetan(jenis data primitif x)

Mengembalikan perwakilan rentetan bagi parameter jenis yang ditentukan