programing

문자열 구분 기호로 문자열을 분할하려면 어떻게 해야 합니까?

powerit 2023. 5. 8. 22:27
반응형

문자열 구분 기호로 문자열을 분할하려면 어떻게 해야 합니까?

다음 문자열이 있습니다.

"My name is Marco and I'm from Italy"

구분 기호를 사용하여 분할하고 싶습니다.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 대신 정규 표현을 사용합니다.분할. 후자는 당신의 문자를 토큰화하기 위한 것입니다.

예:

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그것은 일련의 문자열과 a를 필요로 합니다.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

반응형