3

文字に基づいて文字列を分割し、文字-の前後の単語-をリスト ( result) に挿入しようとしています。両方の単語のインデックスが異なります。私が達成しようとしているのは、文字の前後にスペースがあるかどうかを確認することです-。スペースが見つかった場合は、前述のように分割を実行します。それ以外の場合、 の前後にスペースがない場合は、-分割を実行しません。

例:

String1 = ロンドン - イギリス

String2 = パリ - フランス

with と with の前後にスペースがあるため、 withとwithを分割してリストにString1挿入します。Londonindex(0)United Kingdomindex(1)result-

の前後にスペースがないため、 で分割String 2して挿入Paris-Franceしないでください。index(0)-

コード:

        Dim result As New List(Of String)()

        For Each str_get As String In Split

            If (str_get.IndexOf("\t-\t")) Then

                Dim splitStr = str_get.Split({"-", "/"}, StringSplitOptions.None) 

                For Each str_split As String In splitStr 'Add to result list

                    result.Add(str_split.Trim()) ' Enter into result list

                    ' result.TrimExcess()
                Next

            Else


            End If

Split文字列の配列と見なされる文字列です。Forループは、その配列内の各文字列を取得してチェックすることです。

ご意見やご提案はありますか?

4

4 に答える 4

3

" - "の代わりに分割してみてください"-"。動作するはずです

編集:

わかりました、それString.Splitがそのように機能しないことを確認しました(Stringセパレータを使用)

これは機能します:

splitStr = Regex.Split(str_get, " - ")

Ideoneのデモ

于 2012-12-04T14:57:25.900 に答える
0

これを試して:-

Dim splitStr = str_get.Split({" - ", "/"}, StringSplitOptions.None) 

それ以外の:-

Dim splitStr = str_get.Split({"-", "/"}, StringSplitOptions.None) 
于 2012-12-04T14:58:52.170 に答える
0

私があなたの要件を理解していれば:

Dim splits = From str In strings
             Let parts = str.Split({" - "}, StringSplitOptions.RemoveEmptyEntries)
             Select parts.ToList()
Dim result As List(Of List(Of String)) = splits.ToList()
于 2012-12-04T15:01:36.717 に答える
0

テキストにスペース ハイフン スペースである「 - 」が含まれているかどうかを確認するには、次のステートメントで簡単にテストできます.......

If Instr(DataToTest, " - ") > 0 Then
  'contains the space hyphen space values
Else
  'does not contain space hyphen space
End If

DataToTest は、テストするテキストの文字列です

于 2012-12-17T02:31:54.940 に答える