복붙노트

[SCALA] 스칼라의 문자열로 문자열을 분할하는 방법

SCALA

스칼라의 문자열로 문자열을 분할하는 방법

루비에, 내가 그랬어 :

"string1::string2".split("::")

스칼라, 나는 문자열이 아닌 하나의 문자를 사용하여 분리하는 방법을 찾을 수 없습니다.

해결법

  1. ==============================

    1.귀하의 예제에서 그것은 변화를하지 않지만, 스칼라의 문자열 # 분할 방법은 실제로 정규 표현식을 나타내는 문자열을 사용합니다. 그래서 필요 같은 예를 들어, 특정 문자를 이스케이프해야합니다 "a..bc"에 .split ( ""\ "\..", "") 또는 그 사실을 더 분명 당신이 정규식에 분할 메소드를 호출 할 수 있도록하는 ""\ "\.." ""R. .split ( "a..bc").

    귀하의 예제에서 그것은 변화를하지 않지만, 스칼라의 문자열 # 분할 방법은 실제로 정규 표현식을 나타내는 문자열을 사용합니다. 그래서 필요 같은 예를 들어, 특정 문자를 이스케이프해야합니다 "a..bc"에 .split ( ""\ "\..", "") 또는 그 사실을 더 분명 당신이 정규식에 분할 메소드를 호출 할 수 있도록하는 ""\ "\.." ""R. .split ( "a..bc").

  2. ==============================

    2.REPL은 스택 오버플로보다 더 쉽습니다. 그대로 나는 당신의 예를 붙여.

    REPL은 스택 오버플로보다 더 쉽습니다. 그대로 나는 당신의 예를 붙여.

    scala> "string1::string2".split("::")
    res0: Array[java.lang.String] = Array(string1, string2)
    
  3. ==============================

    3.루비의 라인이 너무 스칼라에처럼 일을하고 배열 [문자열]을 반환해야합니다.

    루비의 라인이 너무 스칼라에처럼 일을하고 배열 [문자열]을 반환해야합니다.

  4. ==============================

    4.당신은 자바 구현을 보면 당신은 문자열 # 분할에 매개 변수가 정규 표현식으로 컴파일 된 사실에있을 것이다 것을 알 수있다.

    당신은 자바 구현을 보면 당신은 문자열 # 분할에 매개 변수가 정규 표현식으로 컴파일 된 사실에있을 것이다 것을 알 수있다.

    ":"가 "문자열 1 : 문자열 2".split ( ":") 때문에 아무 문제가 없다 정규 표현식 단지 캐릭터가되어 있지만, 예를 들어 "문자열 1 | 문자열 2".split ( "|")을하지 않습니다 수율 예상 된 결과. "|" 정규 표현식에서 교대에 대한 특별한 기호입니다.

    scala> "string1|string2".split("|")
    res0: Array[String] = Array(s, t, r, i, n, g, 1, |, s, t, r, i, n, g, 2)
    
  5. from https://stackoverflow.com/questions/5522572/how-to-split-a-string-by-a-string-in-scala by cc-by-sa and MIT license