Asp.net c#将字符串爆炸为数组
本文关键字:数组 字符串 net Asp | 更新日期: 2023-09-27 18:11:03
我在c#中有一个这样的字符串:
string s = "_4_5_81_9_2";
我想把它扩展成这样的数组:
string A[]={4,5,81,9,2}
在php中,我使用的是explot_function:
$A = explode("_", $s);
在c#中类似的方法是什么?
正确的调用是
string s = "_4_5_81_9_2";
string[] A = s.Split(new char[] { '_' }, StringSplitOptions.RemoveEmptyEntries);
要分割的字符串开头有一个下划线。如果你只想要数字,你需要调用StringSplitOptions。RemoveEmptyEntries避免初始空白字符串
只是为了完成答案(归功于@ksven是第一个发现OP注释的人),到整数数组的转换采用这种形式
int[] numbers = A.Select(x => Convert.ToInt32(x)).ToArray();
它叫做String.Split()
。你可以在这里看到参考
String s = "_4_5_81_9_2" ;
String [] result = s.Split("_".ToCharArray(), StringSplitOption.RemoveEmptyEntries) ;
如果你想得到一个整数数组:
int[] result = s.Split("_".ToCharArray(), StringSplitOption.RemoveEmptyEntries).Select(c => Convert.ToInt32(c)).ToArray();
在c#中可以使用下面的代码
string[] words = s.TrimStart('_').Split('_');
使用
string s = "_4_5_81_9_2";
String[] items = s.Split(new char[] { '_' }, StringSplitOptions.RemoveEmptyEntries);
这将删除由开始的_
或双下划线产生的空项。
string s = "_4_5_81_9_2";
if(s.StartsWith("_")){
s = s.Substring(1).Replace('_', ',');
}
string [] s2 = s.Split(',').ToArray();
//or simply...
string[] s3 = s.TrimStart('_').Split('_');
MessageBox.Show(" s2: " + s2.GetValue(0) + "" + " s: " + s.ToString()+" s3:"+s3.GetValue(0));