检查字符前后是否有空格执行字符串拆分

时间:2012-12-04 14:54:25

标签: c# asp.net vb.net vb.net-2010

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

示例:

String1 =伦敦 - 英国

String2 =巴黎 - 法国

拆分String1并将London index(0)United Kingdom index(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是一个可以被视为字符串数组的字符串。 {{1}}循环将获取该数组中的每个字符串并进行检查。

有任何想法或建议吗?

4 个答案:

答案 0 :(得分:3)

只需尝试拆分" - "而不是"-"。它应该工作

修改

好的,只是确认String.Split无效(使用String分隔符)

这将有效:

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

Demo on Ideone

答案 1 :(得分:0)

试试这个: -

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

而不是: -

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

答案 2 :(得分: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()

答案 3 :(得分: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是您要测试的文本字符串