static int ProcessAlpha(Char[] inputMASCK, StringBuilder resultMASCK, int index, char sourceChar, char destChar) { int endPosition = 0; if (inputMASCK[index].CompareTo(sourceChar) == 0) { if (index == inputMASCK.Length - 1) { resultMASCK.Append(destChar); return(index); } //Solo inserto la a si el caracter proximo es tambien a if (inputMASCK[index + 1].CompareTo(sourceChar) == 0) { resultMASCK.Append(destChar); } //Si el caracter proximo es numerico if (TypeFunctions.IsInteger(inputMASCK[index + 1].ToString())) { IsnsertChar(inputMASCK, index, resultMASCK, destChar, out endPosition); index = endPosition; } //Si llego hasta aqui es que es algun caracter cualquiera que no reporecenta logica resultMASCK.Append(destChar); } return(index); }
/// <summary> /// Retorna el entero /// </summary> /// <param name="array"></param> /// <param name="start">posicion desde donde se comienza a</param> /// <param name="number"></param> /// <param name="endPosition"></param> static void GetNumber(Char[] array, int startPosition, out int numberValue, out int endPosition) { //Lista q contiene la concatenacion de enteros detectados en el ciclo for. StringBuilder numberAux = new StringBuilder(); //La posicion final es = inicio de conteo hasta la cantidad de numeros endPosition = startPosition - 1; for (int i = startPosition; i < array.Length; i++) { //si es un numero lo agrego a la lista de numero if (TypeFunctions.IsInteger(array[i].ToString())) { numberAux.Append(array[i].ToString()); endPosition++; } else { break; } } numberValue = Convert.ToInt32(numberAux.ToString()); }