如何在C#中用'#'拆分字符串

poz*_*444 2 c# string split

我试图拆分一个包含这些字符的字符串#

domicilioSeparado = domicilio.Split(@"#".ToCharArray());
Run Code Online (Sandbox Code Playgroud)

但每次数组只包含一个成员.我已经尝试了很多组合,但似乎任何工作,我也试图用空格替换字符串,它有点工作 - 问题是它仍然是一个单一的字符串.

domicilio = domicilio.Replace(@"#", @" ");
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?

完整代码:

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);
} 
Run Code Online (Sandbox Code Playgroud)

Sea*_*gan 6

如果您只想在分隔符上拆分字符串,在本例中为"#",则可以使用:

domicilioSeparado = domicilio.Split("#");
Run Code Online (Sandbox Code Playgroud)

这应该给你你想要的.你的第二次尝试只是用''替换字符串中的所有字符'#',这似乎不是你想要的.我们能看到你想要拆分的字符串吗?这可能有助于解释为什么它不起作用.

编辑:

好的,这就是我认为你的代码看起来如何,给它一个镜头,让我知道它是怎么回事.

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);
} 
Run Code Online (Sandbox Code Playgroud)