“Conocimiento Programación>C /C + + Programming

Cómo reemplazar texto arbitrario de cadenas en C + +

2015/2/13
The C + + biblioteca de cadena tiene varias funciones útiles para la manipulación de cadenas, pero no de búsqueda general y reemplazar. Aunque hay una gran cantidad de información sobre los algoritmos optimizados para la aplicación de reemplazo de texto arbitrario , muchos algoritmos involucran estructuras de datos complejas y difíciles de seguir técnicas como la aritmética de punteros . Para la mayoría de los programas , búsqueda y reemplazo no es un cuello de botella , así que tiene más sentido usar un algoritmo simple, fácil de entender . Esto es posible mediante el aprovechamiento de algunas de las funciones de cadena existentes para manejar la manipulación de bajo nivel . Instrucciones
1

Escriba el contorno de su función de sustitución de cadena:

replaceSubstring string ( cadena fuente , combinación de cadena , cadena de sustitución ) {String salida = ""; volverán ; }
2

Añadir un loop que encuentra todas las coincidencias de subcadenas de la cadena. Los lastpos variables será útil cuando usted comienza a añadir el código para construir la nueva cadena:

size_t pos = 0 ; //Empieza a buscar a los primeros lastpos charactersize_t = 0 ; while (( pos = source.find ( ! partido, pos) ) = string :: npos ) //bucle hasta que no se encuentran coincidencias { pos = pos + match.lengh (); //Iniciar la búsqueda para el próximo partido en el final de este matchlastpos = pos ;}
3

Construye la cadena de salida que se encuentran coincidencias :

size_t pos = 0 ; //Empieza a buscar a los primeros lastpos charactersize_t = 0 ; while (( pos = source.find ( partido, pos) ) = string :: npos ) //bucle hasta que no se encuentran coincidencias { salida + = source.substr ( lastpos , pos - lastpos ) ; //¡ Agregue todos los personajes que se han omitido overoutput + = reemplazar , pos = pos + match.lengh (); //Iniciar la búsqueda para el próximo partido en el final de este matchlastpos = pos ;} salida + = source.substr ( lastpos ) //Agregar el resto de la cadena de origen

C /C + + Programming
Cómo agregar o quitar Arrays Pointer
Cómo utilizar punteros de función en C + +
Cómo hacer un rebote de objetos en C #
Cómo compilar ejemplos de DirectX en Visual C
Cómo utilizar Xcode
Cómo conectarse a un Windows Phone 7 Emulador
Cómo agregar iluminación coloreada en GtkRadiant
Tipos de objetos PowerShell
Conocimiento de la computadora © http://www.ordenador.online