操作c#中的元素
本文关键字:元素 操作 | 更新日期: 2023-09-27 17:57:41
我有一个以下模式的字符串列表:"name''middleName"。将所有元素都只是"名称"的列表转换为列表的最佳方式是什么?(即拆分字符串,只留下"名称"部分)
谢谢,Li
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
}