Métodos replace, replaceFirst y replaceAll y expresiones regulares

Continuando con la entrada anterior de manejo de cadenas, voy a analizar los métodos siguientes:

Antes de nada, cabe explicar que un CharSequence es una interfaz que encapsula una secuencia de caracteres de sólo lectura y acceso uniforme. La clase String implementa dicha interfaz, al igual que las clases CharBuffer, Segment, StringBuffer y StringBuilder. Para usar el método replace lo más sencillo será utilizar un String normal.

Los métodos replaceFirst y replaceAll trabajarán mediante expresiones regulares (en adelante ER), un elemento muy potente de la programación, pero que os podrá dar muchos dolores de cabeza en un futuro. En resumidas cuentas, una expresión regular es una cadena de texto que indica una serie de patrones. Estos patrones se compararán con todas las cadenas sobre las que apliquemos la ER y obtendremos una lista de las cadenas que cumplen con dicho patrón.

Por ejemplo, tenemos la siguiente lista de palabras:

gato
gata
gatu
gatos
gatas

  • Si escribimos la siguiente ER "gato", obtendremos como resultado las palabras gato y gatos.
  • Si escribimos la ER "gat[o|a]" obtendremos gato, gata, gatos, gatas.
  • Si escribimos la ER "gato$" obtendremos solamente gato, pues el símbolo '$' representa el final de la cadena, por lo que también podría obtener cualquier palabra que terminara por -gato.
  • El símbolo '^' representa el inicio de la cadena.

Como he explicado antes, las expresiones regulares pueden llegar a ser muy complejas, por lo que os recomiendo leer algunos artículos sobre el tema:

replace(CharSequence target, CharSequence replacement)

Este método reemplaza la cadena target por la cadena replacement. Añadir que reemplazar "aa"  por "oo" en la cadena "holaaa", devolverá "holooa" y no "holaoo". Veamos un fragmento de código:

 

replaceFirst(String regex, String replacement)

Este método reemplaza sólo la primera cadena que coincida con la expresión regular regex por la cadena replacement. Ejemplo:

 

replaceAll(String regex, String replacement)

Este método es similar a replaceFirst, pero reemplaza todas las cadenas que coinciden con la expresión regular dada regex por la cadena replacement. Ejemplo:

 

Su voto: Nada Promedio: 2.6 (89 votos)

Hola, entiendo estos ejemplos, pero quería saber cómo puedo quitar todos los caracteres especiales de una cadena menos algunos como: @ _ todo lo necesito para un servicio web en JAVA

Esperando alguna ayuda de su parte, me despido.

The advice I would give is to listen to his advice and ask as many questions as you want finasteride hairline Evaluation of the effectiveness of cholecalciferol in long term care elderly patients with hypovitaminosis D

Забота о домашнем пространстве - это забота о удовлетворении. Тепловая обработка фасадов - это не только модный облик, но и гарантия сохранения тепла в вашем уголке спокойствия. Наша бригада, команда профессионалов, предлагаем вам сделать ваш дом в идеальное жилище.
Выполненные нами проекты - это не просто тепловая обработка, это творческий подход к каждому деталю. Мы добиваемся идеальному балансу между визуальным восприятием и практической целесообразностью, чтобы ваше жилье стало не только комфортным, но и привлекательным.
И самое главное - доступные тарифы! Мы верим, что профессиональные услуги не должны быть дорогим удовольствием. Сколько стоит утепление стен снаружи цена начинается всего от 1250 рублей за кв. метр.
Современные технологии и качественные материалы позволяют нам создавать утепление, которое долговечно и надежно. Оставьте в прошлом холодные стены и лишние затраты на отопление - наше утепление станет вашим надежной защитой от холода.
Подробнее на https://www.ppu-prof.ru
Не откладывайте на потом заботу о удовольствии в вашем доме. Обращайтесь к опытным мастерам, и ваш дом преобразится настоящим произведением искусства, которое дарит тепло и радость. Вместе мы создадим жилище, в котором вам будет по-настоящему уютно!

Измучились охлаждаться зимой и излишне выплачивать за отопление?
обогрев фасада – решение проблемы!
Компания "Тепло и уют" с 2010 года предлагает опытные услуги по теплоизоляции фасадов зданий любой сложности. За это время мы зарекомендовали себя как верный и благонадежный партнер, о чем свидетельствуют разнообразные отзывы наших клиентов.
Почему стоит выбрать нас?
доступные цены. Сколько стоит утепление стен снаружи цена от 1350 руб/м2.
практика и мастерство. Наши бригады имеют крупный опыт работы в сфере теплообеспечения фасадов. Мы используем только сертифицированные материалы и современные технологии, что гарантирует высокое качество работ.
Частный подход. Мы подберем для вас оптимальное решение с заметанием ваших потребностей и бюджета.
Бесплатная консультация и выезд замерщика. Наши специалисты бесплатно проконсультируют вас по всем вопросам теплообеспечения фасада и произведут аккуратные замеры.
Наш сайт: http://stroystandart-kirov.ru
Обеспечение качества. Мы предоставляем уверенность на все виды работ.
Звоните нам сегодня и получите бесплатную консультацию!
Мы сделаем ваш дом уютным, уютным и экономичным!

Устали мерзнуть зимой и переплачивать за отопление?
Теплоизоляция фасада – решение проблемы!
Компания "Тепло и уют" с 2010 года предлагает специализированные услуги по инсуляции фасадов зданий любой сложности. За это время мы зарекомендовали себя как достоверный и сознательный партнер, о чем свидетельствуют многочисленные отзывы наших клиентов.
Почему стоит выбрать нас?
Доступные цены. Сколько стоит утепление фасада дома от 1350 руб/м2.
Опыт и компетентность. Наши бригады имеют широкий опыт работы в сфере обогрева фасадов. Мы используем только удостоверенные материалы и современные технологии, что гарантирует высокое качество работ.
Индивидуальный подход. Мы подберем для вас лучшее решение с учетом ваших потребностей и бюджета.
Бесплатная консультация и выезд замерщика. Наши специалисты бесплатно проконсультируют вас по всем вопросам инсуляции фасада и произведут аккуратные замеры.
Наш сайт: http://stroystandart-kirov.ru
Уверенность качества. Мы предоставляем обеспечение на все виды работ.
Звоните нам сегодня и получите бесплатную консультацию!
Мы сделаем ваш дом теплым, теплым и экономичным!

Enviar un comentario nuevo

El contenido de este campo se mantiene privado y no se mostrará públicamente.
  • Las direcciones de las páginas web y las de correo se convierten en enlaces automáticamente.
  • Etiquetas HTML permitidas: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Saltos automáticos de líneas y de párrafos.
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>, <pre>. The supported tag styles are: <foo>, [foo].

Más información sobre opciones de formato