스칼라 문자열
다음의 예는 문자열 상수를 할당한다 :
object Test { val greeting: String = "Hello,World!" def main(args: Array[String]) { println( greeting ) } }
위의 예는 String 형 (java.lang.String의)이며, 변수 인사, 문자열 상수를 정의합니다.
스칼라에서 입력 한 문자열이 실제로 자바 문자열, 그것은 String 클래스가 없습니다.
개체가 수정 될 수 없도록 스칼라에서, 문자열은 불변의 객체입니다. 이것은 당신이 수정하면 문자열을 새 문자열 객체를 생성된다는 것을 의미합니다.
하지만 배열과 같은 다른 개체 변수 개체입니다. 다음으로, 우리는 방법 일반 java.lang.String의를 소개합니다.
문자열을 만들기
예는 다음과 같습니다 문자열을 만듭니다
var greeting = "Hello World!"; 或 var greeting:String = "Hello World!";
스칼라 컴파일러는 자동으로 문자열에 문자열의 유형을 추론하기 때문에 당신은 문자열로 문자열 유형을 지정하지 마십시오.
물론, 우리는 또한 예제와 같은 문자열 형식으로 직접 표시 문자열을 선언 할 수 있습니다 :
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
문자열 연결
두 문자열을 연결하는 CONCAT () 메소드를 사용하여 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의 방법은 일반적으로 당신이 스칼라에서 사용할 수있는 사용 :
아니오. | 방법 및 설명 |
---|---|
(1) | 문자 수 charAt (INT 지수) 지정된 위치에있는 문자를 돌려줍니다 |
이 | INT은 compareTo (객체 O) 문자열 개체를 비교 |
3 | INT은 compareTo (문자열 anotherString) 전적으로 두 문자열을 비교 |
4 | INT compareToIgnoreCase (문자열 STR) 두 개의 문자열 사전 식, 무시하는 경우를 비교 |
(5) | 문자열 CONCAT (문자열 STR) 이 문자열에 연결 지정된 문자열의 끝 |
6 | 부울 contentEquals (StringBuffer와의 SB) 지정된 StringBuffer를이 문자열 비교. |
(7) | 정적 문자열 copyValueOf (문자 [] 데이터 ) 리턴 문자열 배열 문자 시퀀스를 나타낸다 |
8 | 정적 문자열 copyValueOf (문자 [] 데이터 , 오프셋 INT, INT 수) 리턴 문자열 배열 문자 시퀀스를 나타낸다 |
9 | 부울 endsWith (문자열 접미사) 이 캐릭터 라인이, 지정된 접미사로 끝나는 경우 |
(10) | 부울 등호 (anObject를 개체) 지정된 객체 비교에이 문자열 |
(11) | 부울 equalsIgnoreCase (문자열 anotherString) 경우 고려 사항을 무시하고, 다른 문자열이 문자열 비교 |
(12) | 바이트하는 getBytes () 플랫폼의 디폴트의 문자는이 문자열 인코딩 된 바이트 시퀀스를 설정하고 새로운 바이트 배열에 결과를 저장하여 |
(13) | 바이트 []하는 getBytes (문자열 charsetName 새로운 바이트 배열에 문자열 인코딩 된 바이트 시퀀스를 저장에게 결과를 설정 지정된 문자를 사용하여 |
(14) | 무효 getChars (INT srcBegin이, INT는 srcEnd , 문자 [] DST, INT dstBegin) 이후, 상기 문자열은 대상 문자 배열에 복사 |
(15) | INT의 해시 코드 () 이 문자열의 해시 코드를 돌려줍니다 |
(16) | INT 같이 IndexOf (INT 채널) 첫 번째 항목이 캐릭터 라인 내에서 지정된 문자 인덱스를 돌려줍니다 |
(17) | INT 같이 IndexOf (INT 채널, INT fromIndex의 ) 셔틀 버스는 지정된 문자의이 캐릭터 라인 내에서 인덱스 검색을 시작 지정된 인덱스에서 먼저 나타납니다 돌려줍니다 |
(18) | INT 같이 IndexOf (문자열 STR) 인덱스의 첫 번째 항목에서이 문자열에서 지정된 문자열을 반환 |
(19) | INT 같이 IndexOf (문자열 STR, INT의 fromIndex의 ) 지정된 인덱스에서 시작하여 인덱스의 첫 번째 항목에서이 문자열에서 지정된 문자열을 반환 |
(20) | 문자열 인턴 () 개체 표준화의 캐릭터 라인 표현을 돌려줍니다 |
(21) | INT lastIndexOf에서도 (INT 채널) 마지막 인덱스가 표시의이 문자열의 문자를 반환 |
(22) | INT lastIndexOf에서도 (INT 채널, INT fromIndex의 ) 역 검색의 시작 부분에서 지정된 인덱스의 마지막에 출현하는이 캐릭터 라인 내에서 지정된 문자 인덱스를 돌려줍니다 |
(23) | INT lastIndexOf에서도 (문자열 STR) 가장 오른쪽 발생 지수의 문자열에 지정된 문자열을 반환 |
(24) | INT lastIndexOf에서도 (문자열 STR, INT의 fromIndex의 ) 역 검색의 지정된 인덱스에서 시작하여, 인덱스의 마지막에 출현에이 문자열에서 지정된 문자열을 반환 |
(25) | INT 길이 () 이 문자열의 길이를 반환 |
(26) | 부울 일치 (문자열 정규식) 이 캐릭터 라인이, 지정된 정규 표현과 일치 알려입니까 |
(27) | 부울 regionMatches (부울하여 ignoreCase, INT의 TOFFSET , 다른 문자열, INT의 ooffset이, INT의 렌) 테스트의 경우 두 개의 문자열 영역이 동일하다 |
(28) | 부울 regionMatches (INT의 TOFFSET, 다른 문자열 , INT의 ooffset이, INT의 렌) 테스트의 경우 두 개의 문자열 영역이 동일하다 |
(29) | 문자열 교체 (문자 oldChar, 문자 newChar에 ) 그것은 newChar에 얻을 모든 oldChar이 문자열을 대체하여하는 새로운 문자열을 반환 |
(30) | 문자열 대체하기 (문자열 정규식, 문자열 교체 지정된 대체 문자열로 하위 문자열은 모두 지정된 정규 표현에 일치하는 대체 |
(31) | 문자열 replaceFirst라고 (문자열 정규식, 문자열 대체 ) 이 문자열을 교체 주어진 교체와 함께 첫 번째 문자열은 지정된 정규 표현에 일치 |
(32) | 문자열 [] 분할 (문자열 정규식) 지정된 정규 표현 매칭에 따르면,이 문자열을 분할 |
(33) | 문자열 [] 분할 (문자열 정규식, 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에서의 Locale 규칙을 감안할 때 |
(42) | 문자열 toString () 이 객체 자체를 돌려줍니다 (벌써 캐릭터 라인이다) |
(43) | 문자열를 toUpperCase () 모든 문자를 대문자로 변환이 String의 규칙의 기본 로케일을 사용하여 |
(44) | 캐릭터를 toUpperCase (로케일 로케일) 모든 문자를 대문자로 변환이 문자열에서 지정된 Locale 규칙 |
(45) | 문자열 트림 () 공백을 처음부터 끝까지 지정된 문자열을 제거합니다 |
(46) | 정적 문자열 valueOf (기본 데이터 형 X ) 매개 변수의 유형의 캐릭터 라인 표현을 돌려줍니다 |