简体   繁体   English

如何在不使用循环的情况下修剪字符串数组中的每个字符串元素?

[英]How to trim each string element in the string array without using loop?

var gender = from row in excel.Worksheet()
             select row["Gender *"].Value.ToString();
string[] genderArray = gender.ToArray().Distinct().ToArray();

in this case the content of genderArray are { "F", "M", "M "}在这种情况下,genderArray 的内容是 { "F", "M", "M"}

i want that genderArray should only contain { "F", "M" }我希望genderArray 应该只包含{“F”、“M”}

var gender = (from row in excel.Worksheet()
                 select  row["Gender *"].Value.ToString()) ;
    string[]  genderArray = gender.ToArray().Distinct().Select(g=>g.Trim()).ToArray();

You can also do the.Trim in the first query against Value.ToString().Trim().您还可以在针对 Value.ToString().Trim() 的第一个查询中执行 .Trim。 Edited: I might have misplaced the select in the query.编辑:我可能在查询中放错了 select 。

var gender = (from row in excel.Worksheet() 
            select row["Gender *"].Value.ToString().Trim()) ;

Have you tried using String.Trim() ?您是否尝试过使用String.Trim()

var gender = (from row in excel.Worksheet()
             select  row["Gender *"].Value.ToString().Trim()) ;
string[]  genderArray = gender.ToArray().Distinct().ToArray();

Here's how I would tackle it:以下是我将如何处理它:

var data = new List<string> {"F", "M", "M "};
var gender = data.Select(x => x.Trim()).Distinct().ToArray();

Or if you prefer:或者,如果您愿意:

var gender = (from x in data select x.Trim()).Distinct().ToArray();

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

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