Scala สตริง
ตัวอย่างต่อไปนี้จะกำหนดค่าคงที่สตริง:
object Test { val greeting: String = "Hello,World!" def main(args: Array[String]) { println( greeting ) } }
ตัวอย่างข้างต้นกำหนดอวยพรตัวแปรสตริงคงที่ก็เป็นประเภทสตริง (java.lang.String)
ในกาลาประเภทสตริงเป็นจริง Java String, มันไม่ได้มีระดับสตริง
ในกาลา String เป็นวัตถุที่ไม่เปลี่ยนรูปเพื่อให้วัตถุที่ไม่สามารถแก้ไขได้ ซึ่งหมายความว่าหากคุณปรับเปลี่ยนสตริงจะผลิตวัตถุสตริงใหม่
แต่วัตถุอื่น ๆ เช่นอาร์เรย์เป็นวัตถุตัวแปร ต่อไปเราจะมาแนะนำวิธีการ java.lang.String ทั่วไป
สร้างสตริง
สร้าง 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 ก่อนหน้านี้จะไม่เปลี่ยนรูปถ้าคุณจำเป็นต้องสร้างสตริงสามารถแก้ไขได้คุณสามารถใช้คลาส Builder 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
concatenation สตริง
คลาสสตริงโดยใช้ concat () วิธีการที่จะเชื่อมต่อสองสาย:
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 为:学的不仅是技术,更是梦想!
สร้างสตริงที่จัดรูปแบบ
คลาสสตริง, คุณสามารถใช้ printf () วิธีการรูปแบบการออกสตริงรูปแบบสตริง () วิธีการส่งกลับวัตถุสตริงมากกว่าวัตถุ PrintStream ตัวอย่างต่อไปนี้แสดงให้เห็นถึง 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 | ถ่านจรัส (ดัชนี int) ผลตอบแทนที่ได้ตัวละครที่ตำแหน่งที่ระบุ |
2 | int compareTo (Object O) เปรียบเทียบวัตถุสตริง |
3 | int compareTo (String anotherString) เปรียบเทียบสองสาย lexicographically |
4 | int compareToIgnoreCase (String STR) เปรียบเทียบสองสาย lexicographically กรณีละเลย |
5 | สตริง concat (String STR) ในตอนท้ายของสตริงที่ระบุเชื่อมต่อกับสายนี้ |
6 | contentEquals บูลีน (StringBuffer SB) สตริง StringBuffer ที่ระบุนี้เพื่อเปรียบเทียบ |
7 | String คง copyValueOf (ถ่าน [] ข้อมูล ) กลับสตริงอาร์เรย์หมายถึงลำดับตัวอักษร |
8 | String คง copyValueOf (ถ่าน [] ข้อมูล , int ชดเชยนับ int) กลับสตริงอาร์เรย์หมายถึงลำดับตัวอักษร |
9 | endsWith บูลีน (String ต่อท้าย) ทดสอบว่าสายนี้จบลงด้วยการที่ระบุต่อท้าย |
10 | เท่ากับบูลีน (Object anObject) สตริงเพื่อเปรียบเทียบวัตถุที่ระบุนี้ |
11 | บูลีน equalsIgnoreCase (String anotherString) เปรียบเทียบสายนี้จะสตริงอื่นละเว้นการพิจารณากรณี |
12 | getBytes ไบต์ () การใช้ตัวอักษรเริ่มต้นของแพลตฟอร์มที่กำหนดสตริงเข้ารหัสลำดับไบต์นี้และเก็บผลที่ตามมาเป็นแถว byte ใหม่ |
13 | byte [] getBytes (String charsetName โดยใช้ตัวอักษรที่ระบุตั้ง String เข้ารหัสนี้ลำดับไบต์และร้านค้าผลเป็นอาร์เรย์ไบต์ใหม่ |
14 | getChars โมฆะ (int srcBegin, int srcEnd ถ่าน [] 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 (String Str, int fromIndex ) ส่งกลับสตริงย่อยที่ระบุในสายนี้ที่เกิดขึ้นครั้งแรกของดัชนีเริ่มต้นที่ดัชนีที่ระบุ |
20 | สตริงฝึกงาน () ผลตอบแทนที่ได้เป็นตัวแทนสตริงของมาตรฐานวัตถุ |
21 | int lastIndexOf (int CH) ผลตอบแทนที่ตัวละครในสายนี้ของดัชนีที่ผ่านมาปรากฏ |
22 | int lastIndexOf (int CH, int fromIndex ) ผลตอบแทนดัชนีตัวอักษรที่ระบุไว้ภายในสตริงเกิดขึ้นครั้งล่าสุดของดัชนีที่ระบุนี้จากจุดเริ่มต้นของการค้นหาแบบย้อนกลับ |
23 | int lastIndexOf (String STR) ส่งกลับสตริงย่อยที่ระบุในสายของดัชนีการเกิดขวาสุดนี้ |
24 | int lastIndexOf (String Str, int fromIndex ) ส่งกลับสตริงย่อยที่ระบุในสายนี้ที่เกิดขึ้นครั้งล่าสุดของดัชนีเริ่มต้นที่ดัชนีที่ระบุของการค้นหาแบบย้อนกลับ |
25 | ความยาว int () ส่งกลับความยาวของสตริงนี้ |
26 | แมตช์บูลีน (String regex) มีแจ้งสตริงนี้ตรงกับการแสดงออกปกติที่กำหนด |
27 | regionMatches บูลีน (IgnoreCase บูลีน int toffset สตริงอื่น ๆ int ooffset, int len) ทดสอบว่าทั้งสองภูมิภาคสตริงมีค่าเท่ากัน |
28 | regionMatches บูลีน (toffset int, สายอื่น ๆ , int ooffset, int len) ทดสอบว่าทั้งสองภูมิภาคสตริงมีค่าเท่ากัน |
29 | สตริงแทนที่ (ถ่าน oldChar ถ่าน newChar ) ก็จะส่งกลับสตริงใหม่ที่โดยการแทนที่ทั้งหมด oldChar สตริงนี้กับ newChar ได้ |
30 | สตริง replaceAll (String regex ทดแทนสตริง substring กับสตริงทดแทนที่ได้รับแทนที่ทั้งหมดที่ตรงกับการแสดงออกปกติที่กำหนด |
วันที่ 31 | สตริง replaceFirst (String regex, สตริงทดแทน ) substring แรกที่มีการเปลี่ยนกำหนดสตริงแทนที่นี้ตรงกับการแสดงออกปกติที่กำหนด |
32 | String [] Split (สตริง regex) ตามที่การจับคู่แสดงออกปกติได้รับการแยกสายนี้ |
33 | String [] Split (สตริง regex, ขีด จำกัด int) ตามเพื่อให้ตรงกับการแสดงออกปกติได้รับการแยกสายนี้ |
34 | บูลีน startswith (String คำนำหน้า) ทดสอบว่าสายนี้เริ่มต้นด้วยคำนำหน้าระบุ |
35 | startswith บูลีน (String คำนำหน้า int toffset ) การทดสอบย่อยสายนี้เริ่มต้นที่ดัชนีที่ระบุจะเริ่มต้นด้วยคำนำหน้าระบุ |
36 | CharSequence subsequence (int beginIndex, int endIndex ) มันกลับลำดับตัวละครใหม่ที่เป็น subsequence ของลำดับนี้ |
37 | สตริงย่อย (int beginIndex) ก็จะส่งกลับสตริงใหม่ที่เป็นย่อยของสายนี้ |
38 | สตริงย่อย (int beginIndex, int endIndex ) ส่งกลับสตริงใหม่ที่เป็นย่อยของสายนี้ |
39 | ถ่าน [] toCharArray () แปลงสตริงนี้ให้อาร์เรย์ตัวละครใหม่ |
40 | สตริง toLowerCase () โดยใช้สถานที่เริ่มต้นของกฎในสายนี้ทุกตัวอักษรจะถูกแปลงเป็นตัวพิมพ์เล็ก |
41 | สตริง toLowerCase (สถานที่สถานที่เกิดเหตุ) ที่กำหนดกฎระเบียบสถานที่เกิดเหตุในสายนี้ทุกตัวอักษรจะถูกแปลงเป็นตัวพิมพ์เล็ก |
42 | String toString () ส่งคืนวัตถุนี้เอง (ซึ่งมีอยู่แล้วสตริง!) |
43 | สตริง toUpperCase () โดยใช้สถานที่เริ่มต้นของกฎในสายนี้ทุกตัวอักษรจะถูกแปลงเป็นตัวพิมพ์ใหญ่ |
44 | สตริง toUpperCase (สถานที่สถานที่เกิดเหตุ) กฎระเบียบสถานที่เกิดเหตุได้รับในสายนี้ทุกตัวอักษรจะถูกแปลงเป็นตัวพิมพ์ใหญ่ |
45 | สตริงตัด () เอาสตริงที่ระบุตั้งแต่ต้นจนจบช่องว่าง |
46 | String คง valueOf (ดั้งเดิมชนิดข้อมูล x ) ผลตอบแทนที่ได้เป็นตัวแทนสตริงของชนิดของพารามิเตอร์ |