3

我正在尝试根据-字符拆分字符串,并将字符前后的单词插入-到列表(result)中,这两个单词具有不同的索引。我想要实现的是检查字符前后是否有空格-。如果找到空间,请执行前面提到的拆分。否则,如果之前或之后没有空格-,则不进行任何拆分。

例子:

String1 = 伦敦 - 英国

String2 = 巴黎-法国

拆分String1并插入Londonwithindex(0)United Kingdomwithindex(1)result列表中,因为之前和之后有空格-

不要拆分String 2和插入Paris-Franceindex(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

要确定您的文本是否包含“ - ”,即 SPACE HYPHEN SPACE,您可以简单地使用此语句进行测试......

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 回答