从文本中获取一行的一部分作为字符串
Get as string a part of an line from a text
我有一个文件的一些行,我必须从它作为字符串获取第一个字符。
正文是:
...
(spaces) UWORD (spaces) /* data */
(spaces) UBYTE (spaces) /* data */
....
我必须从没有任何空格或 /*data */
的所有行中获取 "UWORD" 和 "UBYTE" 以及更多内容
while ((line = Readed.ReadLine()) != null)
{
if (line.Contains("data") )
{
// DO WHAT?
}
}
您可以将此 Split 重载与 StringSplitOptions.RemoveEmptyEntries
一起使用。它将:
Splits a string into substrings based on the strings in an array.
在这种情况下,用空格分割字符串。现在你只需要取第一个元素:
string input = @" UWORD /* data */ ";
string value = input.Split(new string[] {" "}, StringSplitOptions.RemoveEmptyEntries).First();
编辑:看起来您正在扫描代码并检索数据类型名称。在这种情况下,您可能不仅有空格,还有制表符。如果是这种情况,只需将制表符也包含到包含分隔符的字符串数组中:
string value = input.Split(new string[] {" ", "\t"}, StringSplitOptions.RemoveEmptyEntries).First();
显然也可以捕获all whitespace characters。这是做到这一点的技巧:
string value = input.Split(new char[0], StringSplitOptions.RemoveEmptyEntries).First();
我有一个文件的一些行,我必须从它作为字符串获取第一个字符。 正文是:
...
(spaces) UWORD (spaces) /* data */
(spaces) UBYTE (spaces) /* data */
....
我必须从没有任何空格或 /*data */
的所有行中获取 "UWORD" 和 "UBYTE" 以及更多内容while ((line = Readed.ReadLine()) != null)
{
if (line.Contains("data") )
{
// DO WHAT?
}
}
您可以将此 Split 重载与 StringSplitOptions.RemoveEmptyEntries
一起使用。它将:
Splits a string into substrings based on the strings in an array.
在这种情况下,用空格分割字符串。现在你只需要取第一个元素:
string input = @" UWORD /* data */ ";
string value = input.Split(new string[] {" "}, StringSplitOptions.RemoveEmptyEntries).First();
编辑:看起来您正在扫描代码并检索数据类型名称。在这种情况下,您可能不仅有空格,还有制表符。如果是这种情况,只需将制表符也包含到包含分隔符的字符串数组中:
string value = input.Split(new string[] {" ", "\t"}, StringSplitOptions.RemoveEmptyEntries).First();
显然也可以捕获all whitespace characters。这是做到这一点的技巧:
string value = input.Split(new char[0], StringSplitOptions.RemoveEmptyEntries).First();