- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我最近学习了 TextFieldParser
来解析 words
,而以前我会使用 string.Split
来这样做。我有一个关于新学的 class
的问题。
如果我们使用 string.Split
和 StringSplitOptions.RemoveEmptyEntries
string message = "create myclass \"56, 'for better or worse'\""; //have multiple spaces
string[] words = message.Split(new char[] { ' ' }, 3, StringSplitOptions.RemoveEmptyEntries);
然后我们将得到包含如下三个元素的words
:
[0] create
[1] myclass
[2] "56, 'for better or worse'"
但是如果我们使用 TextFieldParser
string str = "create myclass \"56, 'for the better or worse'\"";
var parser = new Microsoft.VisualBasic.FileIO.TextFieldParser(new StringReader(str)); //treat string as I/O
parser.Delimiters = new string[] { " " };
parser.HasFieldsEnclosedInQuotes = true;
string[] words2 = parser.ReadFields();
然后返回
将包含一些没有文本的词
[0] create
[1]
[2]
[3]
[4] myclass
[5]
[6]
[7] "56, 'for better or worse'"
现在有没有像 string.Split
StringSplitOptions.RemoveEmptyEntries
那样删除结果数组中的空 words
的等效方法?
最佳答案
也许这会成功
parser.HasFieldsEnclosedInQuotes = true;
string[] words2 = parser.ReadFields();
words2 = words2.Where(x => !string.IsNullOrEmpty(x)).ToArray();
一个类轮替代方案可能是
string[] words2 = parser.ReadFields().Where(x => !string.IsNullOrEmpty(x)).ToArray();
关于c# - StringSplitOptions.RemoveEmptyEntries 等效于 TextFieldParser,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34624536/
我过去曾多次遇到过这种情况,最终决定找出原因。 StringSplitOptions.RemoveEmptyEntries 会建议它删除空条目。 那么为什么这个测试会失败呢? var tags = "
我最近学习了 TextFieldParser 来解析 words,而以前我会使用 string.Split 来这样做。我有一个关于新学的 class 的问题。 如果我们使用 string.Split
我正在检查给定文本文件中的行。行可能有随机空格,我只对检查行中的单词数而不是空格感兴趣。我这样做: string[] arrParts = strLine.Trim().Split(); if (ar
我有代码(在本例中针对 .NET Core 3.1),我想在空白处拆分字符串。我的草稿代码是 string s = "A B"; var parts = s.Split(null, StringSpl
我有代码(在本例中针对 .NET Core 3.1),我想在空白处拆分字符串。我的草稿代码是 string s = "A B"; var parts = s.Split(null, StringSpl
作为一名 Java 新手,我正在为 String.split 苦苦挣扎。尝试标记以下字符串 "(3,3,{S,W,P},{P,W,P},{P,P,P}),(1,2,{S,E}),(2,1,{{S},{
我很困惑 string.Split(';') 正在解析哪个重载;我不认为 ';' 是一个字符数组,对吗? 然而,这编译正常,但如果我尝试添加第二个 StringSplitOptions 参数,则找不到
我是一名优秀的程序员,十分优秀!