Csharp/C#教程:C#:拆分字符串而不返回空字符串分享


C#:拆分字符串而不返回空字符串

我有一个字符串:

a = "1;2;3;" 

我想这样split它:

 foreach (string b in a.split(';')) 

我怎样才能确保我只返回3而不是’空字符串’?

如果我分裂1;2;3然后我会得到我想要的。 但如果我分裂1;2;3; 然后我得到一个额外的’空字符串’。 我已经采取了建议并做到了这一点:

 string[] batchstring = batch_idTextBox.Text.Split(';', StringSplitOptions.RemoveEmptyEntries); 

但是,我收到这些错误:

错误1’string.Split(params char [])’的最佳重载方法匹配包含一些无效参数C: Documents and Settings agordon My Documents Visual Studio 2008 Projects lomdb EnterData DataEntry DAL.cs 18 36 EnterData

错误2参数’2’:无法从’System.StringSplitOptions’转换为’char’C: Documents and Settings agordon My Documents Visual Studio 2008 Projects lomdb EnterData DataEntry DAL.cs 18 68 EnterData

String.Split在包含任何StringSplitOptions时采用数组

 string[] batchstring = batch_idTextBox.Text.Split(new [] { ';' }, StringSplitOptions.RemoveEmptyEntries); 

如果您不需要选项,语法会变得更容易:

 string[] batchstring = batch_idTextBox.Text.Split(';'); 

使用StringSplitOptions

 a.Split(new char[] {';'}, StringSplitOptions.RemoveEmptyEntries); 

StringSplitOptions.RemoveEmptyEntries传递给Split方法。

编辑

Split方法没有用单个字符拆分的重载。 您需要指定一个字符数组。

 foo.Split(new char[] {';'}, StringSplitOptions.RemoveEmptyEntries); 

不知道拆分选项。 如果你没有,你可以……

 a.Split(';').Where(s => s.Length > 0).ToArray(); 

给这个镜头:

 string test = "1;2;3;"; test = String.Join(",", test.TrimEnd((char)59).Split((char)59)); string test = "1;2;3;"; test = String.Join(",", test.TrimEnd(';').Split(';')); 

使用

 a.Split(new[] { ';' }, StringSplitOptions.RemoveEmptyEntries); 

.Split有4个重载, .Split两个不支持StringSplitOptions并使用params格式(所以你不需要创建一个splitter数组),其中两个支持StringSplitOptions并需要一个charstring数组。

 string line="Hello! Have nice day." string[] substr = line.Split(new[] {' '}, 2); 

上面的代码将根据第一个空格将该行拆分为两个子串。 substr [0]会有“你好!” substr [1]将拥有“美好的一天”。 Split中的2是一个整数计数器,您可以根据您的要求传递任何值。

上述就是C#学习教程:C#:拆分字符串而不返回空字符串分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/1302170.html

(0)
上一篇 2023年1月25日
下一篇 2023年1月25日

精彩推荐