如何解决在C#中最后一次出现逗号时拆分字符串
我说的是一个字符串
var str = "xy,yz,zx,ab,bc,cd";
我想在C#中最后一个出现逗号的地方将其拆分,即
a = "xy,ab"
b = "bc,cd"
如何获得此结果?
解决方法
让我们借助index
找到所需的逗号LastIndexOf
:
var str = "xy,yz,zx,ab,bc,cd";
// index of the 2nd last occurrence of ','
int index = str.LastIndexOf(',',str.LastIndexOf(',') - 1);
然后使用Substring
:
string a = str.Substring(0,index);
string b = str.Substring(index + 1);
让我们看看:
Console.WriteLine(a);
Comsole.WriteLine(b);
结果:
xy,ab
bc,cd
,
“可读”的替代方法;)
<MyImportedComponent disabled={this.state.invalid} />
,
您可以通过正则表达式替换来解决此问题:
var str = "xy,cd";
var a = Regex.Replace(str,@",[^,]+,]+$","");
var b = Regex.Replace(str,@"^.*,([^,]+)$","$1");
Console.WriteLine(a);
Console.WriteLine(b);
此打印:
xy,ab
bc,cd
,
如果您从NuGet获得Microsoft的System.Interactive扩展,则可以执行以下操作:
string output = String.Join(",",str.Split(',').TakeLast(2));
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。