在C#中过滤逗号分隔的String
发布时间:2020-12-15 20:00:03 所属栏目:百科 来源:网络整理
导读:我有一个动态字符串值,可能包含这样的值 "Apple,Banana,Mango,Strawberry," 我想过滤这个字符串 "Apple,Strawberry". 我尝试使用以下代码,它的工作原理. 有没有更好的方法在C#(.NET 2.0)中实现相同的目标? /// summary/// Convert "Comma Separated String"
我有一个动态字符串值,可能包含这样的值
"Apple,Banana,Mango,Strawberry," 我想过滤这个字符串 "Apple,Strawberry". 我尝试使用以下代码,它的工作原理. 有没有更好的方法在C#(.NET 2.0)中实现相同的目标? /// <summary> /// Convert "Comma Separated String" to "Comma Separated String" /// </summary> /// <param name="strWithComma">String having values separated by comma</param> /// <returns>String separated with comma</returns> private String CommaSeparatedString(String strWithComma) { String rtn = String.Empty; List<String> newList= new List<string>(); if (String.IsNullOrEmpty(strWithComma)) { return rtn; } String[] strArray = strWithComma.Split(",".ToCharArray()); if (strArray == null || strArray.Length == 0) { return rtn; } String tmpStr = String.Empty; String separator=String.Empty; foreach (String s in strArray) { if (!String.IsNullOrEmpty(s)) { tmpStr =s.Replace(Environment.NewLine,String.Empty); tmpStr = tmpStr.Trim(); if (!String.IsNullOrEmpty(tmpStr)) { newList.Add(tmpStr); } } } if (newList != null && newList.Count > 0) { rtn = String.Join(",",newList.ToArray()); } return rtn; } 解决方法
我相信以下应该可以解决任何.NET版本:
string[] TrimAll( string[] input ) { var result = new List<string>(); foreach( var s in input ) result.Add( s.Trim() ); } return result.ToArray(); } var delimiters = new [] { ","t",Environment.NewLine }; string result = string.Join(",TrimAll( input.Split( delimiters,StringSplitOptions.RemoveEmptyEntries ) ) ); 编辑:更新以处理空格,制表符和换行符. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |