Tengo un Regex en JS que no produce los mismos resultados en C#:
//javascript var password = "pass"; var arrPws = password.split(/\s*/);me da un resultado String[] como el siguiente
//c# using System.Text.RegularExpressions; var password = "pass"; var arrPwd = Regex.Split(password,@"\s*"); el código C# agrega un "" extra al principio y al final como sigue
¿Cómo elimino el "" extra en C#?
Para una solución rápida al código .NET, puede dividir en (?<=.)\s*(?=.) :
using System.Text.RegularExpressions; var password = "pass"; var arrPwd = Regex.Split(password,@"(?<=.)\s*(?=.)"); foreach(var item in arrPwd) { Console.WriteLine(item.ToString()); }Esto imprime:
p a s s El problema que está viendo tiene que ver con el comportamiento de \s* . En el motor de expresiones regulares de .NET, \s* coincide con los marcadores de ancho cero al principio y al final de la entrada, pero no en el motor de JavaScript.
Si solo desea una matriz de todos los caracteres en la cadena, use string#ToCharArray() .