繁体   English   中英

asp.net c#将字符串分解为数组

[英]asp.net c# explode string to array

我在 C# 中有一个这样的字符串:

string s = "_4_5_81_9_2";

我想将它分解为这样的数组:

string A[]={4,5,81,9,2}

用php我是通过explode函数来做的:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM