Translate

Como cortar e remover caracteres das cadeias de caracteres


Como cortar e remover caracteres das cadeias de caracteres C#


Se estiver analisando as palavras individuais de uma sentença, você poderá encontrar palavras com espaços em branco em ambas as extremidades da palavra.

Nessa situação, você pode usar um dos métodos de corte na classe System.String para remover qualquer número de espaços ou de outros caracteres de uma posição especificada na cadeia de caracteres.


A tabela a seguir descreve os métodos de corte disponíveis.

https://docs.microsoft.com/pt-br/dotnet/standard/base-types/trimming


 public static string StripIllegalXMLChars(string xmlText)
        {
            //Remove illegal character sequences
            string tmpContents = xmlText;

            //string pattern = String.Empty;
            //switch (XMLVersion)
            //{
            //    case "1.0":
            //        pattern = @"&#x((10?|[2-F])FFF[EF]|FDD[0-9A-F]|7F|8[0-46-9A-F]9[0-9A-F]);";
            //        break;
            //    case "1.1":
            //        pattern = @"&#x((10?|[2-F])FFF[EF]|FDD[0-9A-F]|[19][0-9A-F]|7F|8[0-46-9A-F]|0?[1-8BCEF]);";
            //        break;
            //    default:
            //        throw new Exception("Error: Invalid XML Version!");
            //}

         

            String pattern = @"&#x((10?|[2-F])FFF[EF]|FDD[0-9A-F]|[19][0-9A-F]|7F|8[0-46-9A-F]|0?[1-8BCEF]);";
            /*TESTES
            StringBuilder buffer = new StringBuilder(tmpContents.Length); //Max length
            foreach (char ch in tmpContents)
            {
                UInt16 num = Convert.ToUInt16(ch);//In .NET, chars are UTF-16
                //The basic characters have the same code points as ASCII, and the extended characters are bigger
                if ((num >= 32u) && (num <= 126u)) buffer.Append(ch);
            }
            tmpContents = buffer.ToString();
            */
            Regex regex = new Regex(pattern, RegexOptions.IgnoreCase);
            if (regex.IsMatch(tmpContents))
            {
                tmpContents = regex.Replace(tmpContents, String.Empty);
            }
            return tmpContents;
 
        }