Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何将字符串数组连接到单个字符串中?_C#_Arrays_String_Algorithm - Fatal编程技术网

C# 如何将字符串数组连接到单个字符串中?

C# 如何将字符串数组连接到单个字符串中?,c#,arrays,string,algorithm,C#,Arrays,String,Algorithm,情景: 我在数据库表中有一个网络名称列表,上面有数字,例如(1.Facebook,2.Twitter,3.MySpace,4.hi5…),我从数据库中选择了一个网络(例如2.Twitter) 我所做的: string Selected = "12.FaceBook"; int k=3; string[] myArray = new string[Selected.Length]; for (int i = 0; i < Selected.Length; i++) { myArray

情景: 我在数据库表中有一个网络名称列表,上面有数字,例如(
1.Facebook,2.Twitter,3.MySpace,4.hi5…
),我从数据库中选择了一个网络(例如
2.Twitter

我所做的:

string Selected = "12.FaceBook";
int k=3;
string[] myArray = new string[Selected.Length];
for (int i = 0; i < Selected.Length; i++)
{
    myArray[i] = Selected[k].ToString();
    k++;
}
我想要的是:

输出为:

“Facebook”
“Twitter”
没有数字

这应该可以做到:

string joined = string.Join("", myArray);
DevComponents.DotNetBar.MessageBoxEx.Show(joined);
如果要在连接的字符串之间放置分隔符,这是
string.Join()
的第一个参数。例如,要在它们之间放置一个空格:

string joined = string.Join(" ", myArray);

但是,您最初实际创建字符串数组的代码看起来是错误的。您是从数据库中获取所需网络的单个字符串,还是获取包含您必须自己解析的所有网络的单个字符串?

也许您需要静态字符串。Join

对不起

var input=new []{"12. ...","9. ..."}
var output = input.Select(x=>string.Join(x.Split(".").Skip(1),".").Trim());

如果您有一个字符串,如
“12.Facebook”
,则可以使用和轻松获取
后面的部分,如下所示:

string input = "12. Facebook";

string result = input.Substring(input.IndexOf('.') + 1)
                     .Trim();
// result == "Facebook"

我已经试过了,我成功了,这就是答案,只需少量添加,例如Selected.Length-3 和印刷输出

这是我的密码

try
                {
                    int i;
                    string output = "";

                    string Selected = "12.FaceBook";
                    int k = 3;
                    string[] myArray = new string[Selected.Length];
                    for (i = 0; i < Selected.Length-3; i++)
                    {
                        myArray[i] = Selected[k].ToString();

                        output = output + myArray[i];
                        k++;
                    }


                    DevComponents.DotNetBar.MessageBoxEx.Show(output);
                }
                catch (Exception ee)
                {

                }
试试看
{
int i;
字符串输出=”;
字符串Selected=“12.FaceBook”;
int k=3;
string[]myArray=新字符串[Selected.Length];
对于(i=0;i
也许只是

var companiesWithNumber = new[] { "1. Facebook", "2. Twitter", "3. MySpace" };
var companiesWithoutNumber = companiesWithNumber.Select(c => c.Split().Last());

如果需要阵列:

string[] result = companiesWithoutNumber.ToArray();

您可以使用
string.Join
方法来连接字符串,
“string”。Split
来拆分数字,
字符串。Format
来添加
撇号

var list = new[] {"1. Facebook", "2. Twitter", "3. MySpace"};

var result = string.Join(" or ",list.Select(s => string.Format("\"{0}\"", s.Split('.')[1].Trim())).ToArray());
DevComponents.DotNetBar.MessageBoxEx.Show(result);
你可以试试。

使用正则表达式

string s1 = Regex.Replace(Selected, "[^A-Za-z]", "");

您真正想要的是什么?您的问题标题询问如何加入,但您的消息正在将字符串拆分为单个字符,您的示例似乎希望拆分为“.”这假设输入字符串始终以两位数字开头(如
12.
),而不是以更多或更少的数字(
1.
1000.
)是这样吗?“我想要的是输出为“Facebook”或“Twitter”,但没有数字”然而,问题一点也不清楚。谢谢大家,几乎所有的答案都是正确的,但我最喜欢这一个。“您最初实际创建字符串数组的代码看起来是错误的" +1@SaeedKhan你的问题有点模棱两可,所以我不确定我是否真的回答了…很抱歉,这给了我“”字符串发布者-1尝试了代码,他或她意识到上面的代码不会删除数字、空格和点??
var list = new[] {"1. Facebook", "2. Twitter", "3. MySpace"};

var result = string.Join(" or ",list.Select(s => string.Format("\"{0}\"", s.Split('.')[1].Trim())).ToArray());
DevComponents.DotNetBar.MessageBoxEx.Show(result);
string s1 = Regex.Replace(Selected, "[^A-Za-z]", "");