[英]How to split a string with '#' in C#
我试图分割一个包含这些字符的字符串
domicilioSeparado = domicilio.Split(@"#".ToCharArray());
但每次数组仅包含一个成员时。 我尝试了很多组合,但是一切似乎都可行,我还尝试将字符串替换为空格,这有点奏效-问题在于它仍然是单个字符串。
domicilio = domicilio.Replace(@"#", @" ");
我该如何解决这个问题?
完整代码:
String[] domicilioSeparado;
String domicilio = dbRow["DOMICILIO"].ToString();
domicilioSeparado = domicilio.Split(@"#".ToCharArray());
if (Regex.IsMatch(domicilioSeparado.Last(), @"\d"))
{
String domicilioSinNum = "";
domicilioSinNum = domicilioSeparado[0];
custTable.Rows.Add(counter, dbRow["CUENTA"], nombre,
paterno, materno, domicilioSinNum, domicilioSeparado.Last(), tipoEntidad);
}
如果只想在定界符上分割字符串(在这种情况下为“#”),则可以使用以下命令:
domicilioSeparado = domicilio.Split("#");
这应该给你你想要的。 第二次尝试只是将字符串中的所有字符“#”替换为“”,这似乎并不是您想要的。 我们可以看到您要拆分的字符串吗? 这可能有助于解释为什么它不起作用。
编辑:
好的,这就是我认为您的代码应该看起来的样子,试一下一下,然后让我知道它的运行方式。
List<string> domicilioSeparado = new List<string>();
String domicilio = dbRow["DOMICILIO"].ToString();
domicilioSeparado = domicilio.Split("#");
if (Regex.IsMatch(domicilioSeparado.Last(), @"\d"))
{
String domicilioSinNum = "";
domicilioSinNum = domicilioSeparado[0];
custTable.Rows.Add(counter, dbRow["CUENTA"], nombre,
paterno, materno, domicilioSinNum, domicilioSeparado.Last(), tipoEntidad);
}
尝试这个:
string[] domicilioSeparado;
domicilioSeparado = domicilio.Split('#');
一些注意事项:1-是('#'),而不是(“#”); 2-替换不会拆分字符串,它仅替换该部分,并保留为单个字符串。
如果您想要一个包含整个数组打印的示例:
string domicilio = "abc#def#ghi";
string[] domicilioSeparado;
domicilioSeparado = domicilio.Split('#');
for (int i = 0; i < domicilioSeparado.Length; i++)
{
MessageBox.Show(domicilioSeparado[i]);
}
它将为domicilioSeparado中的每个元素打开一个消息框。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.