在空格或换行符上拆分

时间:2016-12-15 07:12:35

标签: c#

我正在使用使用C#脚本的数据捕获软件(PSI-Capture)。我需要知道将捕获的值转换为字符串然后拆分空格或换行符的最佳方法。我正在捕获一个全名字段(FirstName MiddleName Surname),有时它们是一行或两行。所以我需要拆分空格和换行符,这样我就可以在单独的字段中填充名称的每个部分。

这些名字有时像一行一样:

  

MICHAEL JACKSON

有时它们就像两行一样:

  

MICHAEL JAMES
  JACKSON

3 个答案:

答案 0 :(得分:0)

这可能会为你做到这一点

names = names.Replace(Environment.NewLine, " "); // as suggested by @Dmitry Bychenko
string[] nm = names.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);

现在如果string[] nm包含2个元素,这意味着名称没有中间名,那么

firstname = nm[0];
if(nm.Length > 2)
{
    middlename = nm[1];
    lastname = nm[2]
}
else 
{
    lastname = nm[1]
}

答案 1 :(得分:0)

nameInputText成为用户输入,然后您可以尝试以下方法来获取所需的用户名部分数组:

string  actualName = Regex.Replace(nameInputText, @"\r\n?|\n|\s+", "-");
string[] partsOfName = actualName.Split(new char[]{'-'}, StringSplitOptions.RemoveEmptyEntries);

在此示例中,您将在MICHAEL-JAMES-JACKSON变量中获得actualName,并且基于-进行拆分将为您提供所需的元素数组,名称的部分

答案 2 :(得分:0)

您可以根据space

split替换为spacestring str = str.Replace(Environment.NewLine," "); string[] array = str.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
StringSplitOptions.RemoveEmptyEntries

使用empty entries可确保array

中不会留下<ol> <li>jQuery loaded into DOM</li> <li>caroFredSel plugin is attached to jQuery in DOM</li> <li>Something is causing ANOTHER instance of jQuery to load into the DOM, overwriting the previous $ object.</li> <li>When caroFredSel() is called on the $ object in carousel.js, since it is a new jQ object, the method doesn't exist.</li> </ol>