programing

vb.net : 문자열을 문자열로 분할할 수 있습니까?

oldcodes 2023. 5. 14. 11:03
반응형

vb.net : 문자열을 문자열로 분할할 수 있습니까?

예를 들어, 내가 이것을 할 수 있습니까:

split = temp_string.Split("<beginning of record>")

다음을 추천합니다.

split = Regex.Split(temp_string, "< beginning of record >")

작동하지 않습니다.그것은 단지 첫 번째 문자 "<"를 반환합니다.

그리고 당신들이 추천한 사람들:

Dim myDelims As String() = New String(){"< beginning of record >"}
split = temp_string.Split(myDelims, StringSplitOptions.None)

이것도 작동하지 않습니다.또한 첫 번째 문자만 반환합니다.

사용해 보십시오.

string[] myDelims = new string[] { "<beginning of record>" };
split = temp_string.Split(myDelims,StringSplitOptions.None);

코드 변환기를 통해 이를 실행하면 다음과 같은 결과가 발생합니다.

Dim myDelims As String() = New String() { "<beginning of record>" }
split = temp_string.Split(myDelims, StringSplitOptions.None)

또한 다음과 같이 쉐브론을 탈출해야 할 수도 있습니다.

"\< beginning of record \>"

@VB에서 매튜 존스의 대답.그물

Dim delim as String() = New String(0) { "<beginning of record>" } 
split = temp_string.Split(delim, StringSplitOptions.None)

확장 방법을 직접 작성하여 쉽게 사용할 수 있습니다(Matthew Jones답변을 기반으로 함).

(예를 들어 보겠습니다...)

Dim results = "hay needle hay needle hay".Split("needle")
' results(0) = "hay "
' results(1) = " hay "
' results(2) = " hay"

C#...

public static class Tools
{
    public static string[] Split(this string input, params string[] delimiter)
    {
        return input.Split(delimiter, StringSplitOptions.None);
    }
}

VB.Net...

Module Tools
    <Extension()> _
    Public Function Split(ByVal input As String, _
                          ByVal ParamArray delimiter As String()) As String()
        Return input.Split(delimiter, StringSplitOptions.None)
    End Function
End Module

Regex를 볼 수 있습니다.분할()-메소드입니다.

그리고 이것은 효과가 있는 것 같습니다.

  dim s as string = "you have a <funny> thing <funny> going on"
  dim a() as string = Regex.Split(s,"<funny>")
  for each b as string in a 
     Response.Write( b & "<br>")
  next

이것은 효과가 있는 것 같습니다.

    Dim myString As String = "aaajjbbbjjccc"
    Dim mySplit() As Char = "jj".ToCharArray
    Dim myResult() As String = myString.Split(mySplit, StringSplitOptions.RemoveEmptyEntries)

XML을 문자열로 읽는 것이 실제로 분할하는 것이라면 VB 문자열을 사용하여 해당 작업을 수행하지 마십시오.XSLT를 사용합니다. VB/C#에는 XSLT로 XML을 렌더링하는 메서드가 있습니다.훨씬 빠르고 안정적일 것입니다.

저는 그렇게 생각하지 않습니다, 문자만 있으면 됩니다.몇 가지 추악한 해킹 작업을 수행하여 먼저 문자열의 모든 인스턴스를 문자열에 아직 존재하지 않는 일부 문자로 바꾼 다음 해당 문자에 대해 분할할 수 있습니다.

추가할 편집 내용:Regex인 것 같아요.분할은 정규식에서 분할을 수행할 수 있으므로 분할할 문자열인 간단한 정규식을 만들면 작동합니다.

언급URL : https://stackoverflow.com/questions/1639189/vb-net-can-you-split-a-string-by-a-string

반응형