使用“,”分割字符串并存储在数组列表中

时间:2019-07-01 14:45:31

标签: c# split

  1. 这是 C#中的stringstring Id = "1LE, 1GE";
  2. Split string使用逗号
  3. 将其存储在ArrayList中。

我的代码在在线编译器上不起作用。

string Id = "1LE, 1GE";
ArrayList centerIds_list = new ArrayList();
centerIds_list.AddRange(centerIds);

我需要将输出作为2元素并带有修饰字符串

5 个答案:

答案 0 :(得分:4)

好吧,string.Split返回 array -string[],因此,如果您不想添加/删除项目,只需输入

  string[] centerIds_list = Id.Split(',');

如果您想向集合中添加项目或从集合中删除项目(这就是 array 毫无疑问的原因),请尝试使用List<string>而不是过时的 ArrayList

   List<string> centerIds_list = new List<String>(Id.Split(','));

最后,如果您坚持使用ArrayList

   ArrayList centerIds_list = new ArrayList(Id.Split(','));

更多细节:

"1LE, 1GE".Split(',')将返回"1LE"" 1GE",请注意前导空格。您可以通过分割", "(而不是',')来摆脱它:

   Id.Split(new string[] { ", "}, StringSplitOptions.None);

或借助 Linq .Select(item => item.Trim()),然后是物化.ToArray().ToList()),例如

   string[] centerIds_list = Id
     .Split(',')
     .Select(item => item.Trim())
     .ToArray();

   List<string> centerIds_list = centerIds_list = Id
     .Split(',')
     .Select(item => item.Trim())
     .ToList();

   ArrayList centerIds_list = new ArrayList(Id
     .Split(',')
     .Select(item => item.Trim())
     .ToArray());

答案 1 :(得分:1)

您缺少行

<Button>Hello</Button>
<Link to="/somewhere">Hello</Link>

您需要用from selenium import webdriver from selenium.webdriver.chrome.options import Options chrome_options = Options() executable_path = "path_to_webdriver" extension_path = r'/home/user/.config/chromium/Default/Extensions/cjpalhdlnbpafiamejdnhcphjbkeiagm/1.20.0_0' chrome_options.add_extension(extension_path) driver = webdriver.Chrome(executable_path=executable_path, chrome_options=chrome_options) 分割字符串,然后创建var centerIds = Id.Split(','); 的实例。

尝试下面的代码

comma

由于大多数评论都提到了这一点,所以我也想将其包括在内。

使用ArrayList代替string Id="1LE, 1GE"; var centerIds = Id.Split(','); //This was missing ArrayList centerIds_list = new ArrayList(); centerIds_list.AddRange(centerIds);

List<string>

如果要摆脱空格,请使用ArrayList

List<string> centerIds_list = "1LE, 1GE".Split(',').ToList(); //One line solution

答案 2 :(得分:1)

这几天,没人使用ArrayList,而是使用强类型的泛型。在您的情况下为List<string>

要以List<string>的形式获得零件,可以执行以下操作:

Id.Split(',').ToList();

如果要删除各个零件之间的间距,则可以执行以下操作:

Id.Split(',').Select(s => s.Trim()).ToList();

答案 3 :(得分:0)

string Ids =“ 1LE,1GE”;             列出centerIds_list = Ids.Split(',')。Select(x => x.Trim())。ToList();             foreach(centerIds_list中的可变项)             {

           Console.WriteLine(item);  

        }

答案 4 :(得分:0)

我知道这本身并不能解决问题,但是如果性能是一个问题,并且您正在处理大量要拆分的数据(例如,较大的csv文件),那么请看一下本文谈论使用Span替代String.split。

[https://ladeak.wordpress.com/2019/06/21/the-power-of-span/amp/?__twitter_impression=true]