我试图拆分包含这些字符#
的字符串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);
}
答案 0 :(得分:6)
如果您只想在分隔符上拆分字符串,在此实例中为“#”,则可以使用此字符:
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);
}
答案 1 :(得分:1)
试试这个:
string[] domicilioSeparado;
domicilioSeparado = domicilio.Split('#');
一些说明: 1 - 它是('#'),而不是(“#”); 2 - Replace不分割字符串,它只替换该部分,保持为单个字符串。
如果您想要一个包含整个数组打印的示例:
string domicilio = "abc#def#ghi";
string[] domicilioSeparado;
domicilioSeparado = domicilio.Split('#');
for (int i = 0; i < domicilioSeparado.Length; i++)
{
MessageBox.Show(domicilioSeparado[i]);
}
它将为domicilioSeparado中的每个元素打开一个消息框。