无法将每个有空格的单词分开,并将其存储在数组中用于某些文本

本文关键字:数组 存储 用于 文本 空格 单词 | 更新日期: 2023-09-27 18:23:53

很抱歉,因为这个问题有点长。

我有这个字符串"Hello how are you"

当我把它传递给ASP.Net C#中的这个函数时

private void separateSpaces(string text)
{
 string[] separatedWords = text.Split(' ');
 for(int i=0;i<separatedWords.length;i++)
 {
   Response.Write("<br>"+separatedWords[$i]);
 }
}

当我把这个字符串运行到这个函数时,我完全得到了预期的答案。像

Hello
how
are
you

但当我把这篇文章作为主题时。我的输出错误

这是文本

Fusion Technologies, Hyderabad, India                           May 2005 – July 2007
Net Developer

除了,一切都很好

India May

它被视为一根绳子。我需要它们都是独立的

无法将每个有空格的单词分开,并将其存储在数组中用于某些文本

也许India May被视为单个字符串,因为它们之间没有空格(例如其他空格,如't)?

试试这个,看看它是否有效:

string[] seperatedWords = text.Split(default(string[]), 
    StringSplitOptions.RemoveEmptyEntries);

default(string[])就是简单的null。当String.Split接收到null作为第一个参数时,它将所有空白字符(由Char.IsWhiteSpace匹配)视为delimeter。

string data = "Fusion Technologies, Hyderabad, India                 May 2005 ";
var items = data.Split(
                       new[] {' ', ',', ''t' }, 
                       StringSplitOptions.RemoveEmptyEntries);

输出:

[0]: "Fusion"
[1]: "Technologies"
[2]: "Hyderabad"
[3]: "India"
[4]: "May"
[5]: "2005"

尽管在代码示例中,单词用空格分隔,但实际文本中可能有一个制表符或其他空格字符来分隔单词。你会想做一个

text = text.Replace("'t", " ");

或者类似的东西。