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]", "");