操作c#中的元素

本文关键字:元素 操作 | 更新日期: 2023-09-27 17:57:41

我有一个以下模式的字符串列表:"name''middleName"。将所有元素都只是"名称"的列表转换为列表的最佳方式是什么?(即拆分字符串,只留下"名称"部分)

谢谢,Li

操作c#中的元素

List<string> originalList = ...
List<string> newList = originalList.Select(s => s.Split('''')[0]).ToList()
List<string> original = ...
List<string> nameOnly = original.ConvertAll(s => s.Substring(0, s.IndexOf('''')));

如果原始列表的某些元素中可能没有'字符,则需要进行额外的检查以避免出现异常:

List<string> nameOnly = original.ConvertAll(s => {
                                                     int i = s.IndexOf('''');
                                                     return (i == -1) 
                                                         ? s
                                                         : s.Substring(0, i);
                                                 });
//your list of strings in format (name'middleName)
List<string> list;
List<string> newList;
foreach(string item in list)
   newList.Add(item.Substring(0, item.IndexOf("''")));

这将使你的字符串列表的副本变成一个新的,格式像你想要的。

Tokenize"/"并将第一个字符串分配给name变量。或者,只需对列表中的所有字符串进行循环,然后在循环中对字符串长度进行循环,将字符放入变量中,当达到"/"时退出,然后将其存储为名称。

这里有一个不创建新列表的正则表达式解决方案。

for(int i = 0; i < list.count; i++)
{
     list[i] = Regex.Match(List[i],@"^'w+").value      
}