Programing

문자열 구분 기호로 문자열을 어떻게 나눌 수 있습니까?

lottogame 2020. 4. 15. 10:23
반응형

문자열 구분 기호로 문자열을 어떻게 나눌 수 있습니까? [복제]


이 질문에는 이미 답변이 있습니다.

이 문자열이 있습니다.

My name is Marco and I'm from Italy

delimiter로 분할하고 싶습니다 is Marco and. 따라서 배열을 가져와야합니다.

  • My name [0]에서
  • I'm from Italy 에서 [1].

C #으로 어떻게 할 수 있습니까?

나는 시도했다 :

.Split("is Marco and")

그러나 단 하나의 문자 만 원합니다.


string[] tokens = str.Split(new[] { "is Marco and" }, StringSplitOptions.None);

단일 문자 분리 문자가있는 경우 (예 :와 같이 ,)이를 작은 따옴표로 줄일 수 있습니다.

string[] tokens = str.Split(',');

.Split(new string[] { "is Marco and" }, StringSplitOptions.None)

공백이있는 것을 고려하십시오 "is Marco and". 결과에 공백을 포함 시키거나 제거 하시겠습니까? " is Marco and "구분자 로 사용하고 싶을 수도 있습니다 ...


상당히 복잡한 하위 문자열에서 문자열을 분할하고 있습니다. String.Split 대신 정규 표현식을 사용합니다. 후자는 텍스트를 토큰 화하기위한 것입니다.

예를 들면 다음과 같습니다.

var rx = new System.Text.RegularExpressions.Regex("is Marco and");
var array = rx.Split("My name is Marco and I'm from Italy");

대신 이 기능을 사용해보십시오 .

string source = "My name is Marco and I'm from Italy";
string[] stringSeparators = new string[] {"is Marco and"};
var result = source.Split(stringSeparators, StringSplitOptions.None);

IndexOf메소드를 사용하여 문자열의 위치를 ​​확보하고 해당 위치와 검색 문자열의 길이를 사용하여 분할 할 수 있습니다.


정규식을 사용할 수도 있습니다. 간단한 구글 검색 이 이것으로 밝혀졌습니다

using System;
using System.Text.RegularExpressions;

class Program {
  static void Main() {
    string value = "cat\r\ndog\r\nanimal\r\nperson";
    // Split the string on line breaks.
    // ... The return value from Split is a string[] array.
    string[] lines = Regex.Split(value, "\r\n");

    foreach (string line in lines) {
        Console.WriteLine(line);
    }
  }
}

읽기 C # 분할 문자열 예 - 닷 넷 진주 와 같은 것을 할 수있는 솔루션 :

var results = yourString.Split(new string[] { "is Marco and" }, StringSplitOptions.None);

string.Split문자열 배열과 StringSplitOptions매개 변수 를 취하는 버전이 있습니다 .

http://msdn.microsoft.com/en-us/library/tabh47cf.aspx

참고 URL : https://stackoverflow.com/questions/8928601/how-can-i-split-a-string-with-a-string-delimiter

반응형