从文本中以字符串形式获取行的一部分

时间:2018-09-13 06:46:10

标签: c# regex readline

我有文件的某些行,我必须从文件中获取字符串,只是开头的字符。 文字是:

job

我必须从所有行中获取“ UWORD”和“ UBYTE”,以及更多内容,且不带任何空格或/ * data * /

...
(spaces) UWORD (spaces) /* data */

(spaces) UBYTE (spaces) /* data */
....

1 个答案:

答案 0 :(得分:-1)

您可以将此Split重载与StringSplitOptions.RemoveEmptyEntries一起使用。它将:

  

根据数组中的字符串将字符串拆分为子字符串。

在这种情况下,

用空格分隔字符串。现在,您只需要考虑第一个元素:

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();