【问题标题】:How to Create a string array by spliting a string? [duplicate]如何通过拆分字符串来创建字符串数组? [复制]
【发布时间】:2017-03-30 14:06:33
【问题描述】:

我现在有点卡住了,我有一串数字,我从数据库中动态获取它们,数字范围可以在 1 到 1 百万之间,如下所示:

string str = "10000,68866225,77885525,3,787";

我需要从中创建一个数组,我已经尝试过:

string[] strArr = { str.Replace(",", "").Split(',') };

但它不起作用任何人有任何解决方案我都是我们的。基本上它需要是这样的:

string[] strArr = { "10000","68866225","77885525","3","787" };

【问题讨论】:

  • var strArr = "10000,68866225,77885525,3,787".Split(',');
  • 你是先去掉逗号,然后再尝试拆分?
  • 这个问题没有任何形式的研究工作,我建议在 MSDN 学习 C# 字符串操作以了解编程。

标签: c#


【解决方案1】:

您的出席:

string[] strArr = { str.Replace(",", "").Split(',') };

由于代码中有两个错误而无法正常工作:

1) 在, 拆分之前,您将删除所有,

str.Replace(",", "")

所以基本上你试图在每个, 处拆分这个字符串:"1000068866225778855253787",这将导致一个数组只包含"1000068866225778855253787",因为显然没有, 可以拆分。

2) 您正在尝试将数组分配给字符串,因为 Split() 方法已经返回了一个数组,并且您正在尝试将此数组放入 string[] 的字段中(因为您周围的 { }赋值) 并且string[] 的字段是字符串类型而不是数组。


要获得预期的输出,您必须对原始字符串执行.Split(','),其中包括您要拆分的所有,。因此,只需删除 Replace() 调用,您将获得所需的输出:

var str = "10000,68866225,77885525,3,787";
var strArr = str.Split(',');

【讨论】:

    【解决方案2】:
    string[] strArr =yourstring.Split(',');
    

    这将返回一个包含可能拆分计数的数组,例如 "10000,68866225,77885525,3,787" 将给出大小为 4 的数组。

    【讨论】:

      【解决方案3】:

      string.Split() 方法已经返回一个数组。

      【讨论】:

        【解决方案4】:

        split 方法已经返回一个数组。只需将其从波浪形括号中取出即可。

        string[] strArr = str.Split(',');
        

        编辑:抱歉忘记取出 .replace()

        【讨论】:

          【解决方案5】:

          试试这个:

          string[] strArr = str.Split(',');
          

          【讨论】:

          • 嘿,谢谢你的回答,我想知道如果我有一个号码返回怎么办?像这样的东西 - string str = "1";它是否也返回一个数组?
          • @SmackDat 是的,您将拥有一个只有一个元素的数组,即"1"
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-06-11
          • 1970-01-01
          • 1970-01-01
          • 2016-04-28
          • 1970-01-01
          • 2017-02-13
          相关资源
          最近更新 更多