方案:
我有数据库表中的网络名称列表,其中包含数字(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++;
}
并吸引了如何加入myArray
并打印
DevComponents.DotNetBar.MessageBoxEx.Show("?");
我想要的:
输出为: "Facebook"
或"Twitter"
没有数字。
答案 0 :(得分:1)
这应该这样做:
string joined = string.Join("", myArray);
DevComponents.DotNetBar.MessageBoxEx.Show(joined);
如果要在连接的字符串之间放置分隔符,那么这是string.Join()
的第一个参数。例如,在它们之间放置一个空格:
string joined = string.Join(" ", myArray);
但是,实际创建字符串数组的代码看起来是错误的。您是否从数据库中获取了所需网络的单个字符串,或者您是否获得了包含您自己需要解析的所有网络的单个字符串?
答案 1 :(得分:1)
如果您有"12. Facebook"
之类的字符串,那么您可以使用IndexOf Method和Substring Method轻松获取.
之后的部分,如下所示:
string input = "12. Facebook";
string result = input.Substring(input.IndexOf('.') + 1)
.Trim();
// result == "Facebook"
答案 2 :(得分:0)
也许你需要静态字符串。加入?
或
var input="12. Twiiter";
var re=new Regex(@"(?<num>\d+)\.\s*(?<code>.+)");
var m=re.Match(input);
if (m.Success) Console.Write(m.Groups["code"].Value);
抱歉,
var input=new []{"12. ...","9. ..."}
var output = input.Select(x=>string.Join(x.Split(".").Skip(1),".").Trim());
答案 3 :(得分:0)
我已经尝试过,我在这里成功就是答案,只有少量添加例如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)
{
}
答案 4 :(得分:0)
也许只是
var companiesWithNumber = new[] { "1. Facebook", "2. Twitter", "3. MySpace" };
var companiesWithoutNumber = companiesWithNumber.Select(c => c.Split().Last());
如果你需要一个阵列:
string[] result = companiesWithoutNumber.ToArray();
答案 5 :(得分:0)
您可以使用string.Join
方法加入字符串,"string".Split
分割数字,string.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);
您可以尝试here。
答案 6 :(得分:-1)
使用正则表达式
string s1 = Regex.Replace(Selected, "[^A-Za-z]", "");