Home | Develop | Download | Contact
Namespaces | Estructuras de datos
Funciones Pds::Ra – String

Funciones para trabajar con cadenas: Pds::Ra::ToString(), etc. Más...

Namespaces

namespace  Pds
 Nombre de espacio para Pds (Procesamiento Digital de Senales)
 
namespace  Pds::Ra
 Nombre de espacio para RA (Real Arrays)
 
namespace  Pds::Ra::Sort
 Nombre de espacio Sort.
 

Estructuras de datos

struct  Pds::Ra::Sort::NaturalStdString
 Es una estructura para ordenar de forma "natural" datos std::string, es usada en los siguientes casos: Más...
 

Buscar cadenas en un string

std::vector< std::string > Pds::Ra::SubsInString (const std::string &str, char DelL, char DelR)
 Retorna todas las cadenas de texto dentro de un par de delimitadores. Más...
 
std::vector< std::string > Pds::Ra::SubsInString (const std::string &str, const std::string &DelL, const std::string &DelR, bool Full=false)
 Retorna todas las cadenas de texto dentro de un par de delimitadores. Más...
 
std::string Pds::Ra::FirstSubInString (const std::string &str, const std::string &DelL, const std::string &DelR, bool Full=false)
 Retorna la primera cadena de texto dentro de un par de delimitadores. Más...
 
std::vector< unsigned long int > Pds::Ra::FirstSubIdsInString (const std::string &str, const std::string &DelL, const std::string &DelR, bool Full=false)
 Retorna la {posición, longitud} de la primera cadena de texto dentro de un par de delimitadores. Más...
 
std::vector< std::string > Pds::Ra::SubsXmlInString (const std::string &str, bool Full, std::vector< std::string > &Tag)
 Busca etiquetas tag entre '<' y '>' de modo de que se busca la forma <tag> dato </tag>. Se retorna dato y tag. Más...
 

Funciones de estado

bool Pds::Ra::IsInteger (const std::string &str)
 Retorna true si es un entero (positivo o negativo) o false si no. Más...
 
bool Pds::Ra::IsReal (const std::string &str)
 Retorna true si es un real (double) o false si no. Más...
 

Elementos en una cadena

int Pds::Ra::ElementsInString (const std::string &str)
 Retorna el número de elementos en la cadena. Internamente usa la funcion isspace(). Más...
 
bool Pds::Ra::ArraySizeInString (std::string str, unsigned int &Nlin, unsigned int &Ncol)
 Retorna el número de lineas significativas y columnas de un archivo. Se asume que es un archivo de texto. Internamente usa la funcion isspace(). Más...
 

Dividir una cadenas en tokens

std::list< std::string > Pds::Ra::ListSplitString (std::string str, std::string delimeters)
 Retorna una lista con los elementos en la cadena. Internamente usa la funcion isspace(). Más...
 
std::vector< std::string > Pds::Ra::VectorSplitString (std::string str, std::string delimeters)
 Retorna un vector con los elementos en la cadena. Internamente usa la funcion isspace(). Más...
 
std::vector< std::string > Pds::Ra::VectorSplitString (std::string str, std::string delimiter, bool include_void)
 Retorna un vector con los elementos en la cadena. Internamente usa la funcion isspace(). Más...
 
std::vector< std::string > Pds::Ra::SplitSingleTagAndData (const std::string &str, char wrap, char Eq)
 Dado un caracter wrap y un caracter separador, retorna un vector con dos elementos el tag y el dato. La función elimina caracteres en blanco antes y depues de str, y antes y despues del dato. Internamente usa la funcion isspace(). Más...
 
std::vector< std::string > Pds::Ra::SplitMultipleTagAndSeparator (const std::string &str, char wrap, char sep, char dc)
 Dado un caracter wrap y un caracter separador, retorna un vector con varios elementos (tags). La función elimina caracteres en blanco antes y depues de str, y antes y despues de los tags. Internamente usa la funcion isspace(). Más...
 
std::vector< std::string > Pds::Ra::SplitMultipleObjectsAndSeparator (const std::string &str, char DelL, char DelR, char sep)
 Dado un par de caracteres y un caracter separador, retorna un vector con varios objetos. La función elimina caracteres en blanco antes y depues de str, y antes y despues de los objetos. Internamente usa la funcion isspace(). Más...
 

Trabajar con cadenas de caracteres

bool Pds::Ra::NaturalCompare (const std::string &str1, const std::string &str2)
 Esta función compara las cadenas str1 y str2 de forma natural (tomando en cuenta números). Más...
 
bool Pds::Ra::IsSpacesString (const std::string &str)
 Esta función comprueba si los caracteres en la cadena son caracteres no visibles (white-spaces). Internamente usa la funcion isspace(). Más...
 
std::string Pds::Ra::Trim (const std::string &str)
 Esta función retorna una cadena que elimina al inicio y al final algunos caracteres si estos son caracteres no visibles (white-spaces). Internamente usa la funcion isspace(). Más...
 
std::string Pds::Ra::ToLower (const std::string &str)
 Crea una nueva cadena con datos lower case. Más...
 
int Pds::Ra::CiCompare (const std::string &str1, const std::string &str2)
 Case-insensitive compare. Retorna 0 si las cadenas son iguales o un numero diferente de 0 si no. Más...
 
std::string Pds::Ra::Repeat (const std::string &str, unsigned int N)
 Repite N veces una cadena de tipo std::string. Más...
 
std::string Pds::Ra::ReplaceAll (std::string str, const std::string &from, const std::string &to)
 Remplaza todas las cadenas desde from a to. Más...
 
template<typename T >
std::string Pds::Ra::ToString (T val)
 Convierte en std::sring un int,long,unsigned int, unsigned long, float o double. Más...
 

Salvar y leer desde archivo cadenas std::string

bool Pds::Ra::SaveString (const std::string &filepath, const std::string &str)
 Save the string in a text file. Más...
 
bool Pds::Ra::LoadString (const std::string &filepath, std::string &str)
 Load the string in a text file. Más...
 

Trabajar con variables de tipo std::vector<std::string>

bool Pds::Ra::SaveVectorString (const std::string &filepath, const std::vector< std::string > &str)
 Save each string of a vector string in a new line in a text file. Más...
 
bool Pds::Ra::PrintVectorString (const std::vector< std::string > &str)
 Print each string of a vector string in a new line in a text file. Más...
 
bool Pds::Ra::PrintVectorString (const std::vector< std::string > &str, std::string delim_elem, std::string delim_end)
 Print each string of a vector string in a new line in a text file. Más...
 
bool Pds::Ra::PrintGridString (const Pds::Grid< std::string > &str, std::string delim_elem, std::string delim_end)
 Print each string of a Pds::Grid<std::string> in a text file. Más...
 

Export a std::string

std::string Pds::Ra::ExportOctaveCellString (const std::vector< std::string > &X, const std::string &pname)
 Exporta un std::vector<std::string> a una cadena en formato de código m. Más...
 

Descripción detallada

Funciones para trabajar con cadenas: Pds::Ra::ToString(), etc.

#include <Pds/RaString>

Documentación de las funciones

◆ SubsInString() [1/2]

std::vector< std::string > Pds::Ra::SubsInString ( const std::string &  str,
char  DelL,
char  DelR 
)

Retorna todas las cadenas de texto dentro de un par de delimitadores.


std::vector<std::string> sub;
sub=Pds::Ra::SubsInString("Hola <Fernando>, como está <Mariano>?.",'<','>');
Pds::Ra::PrintVectorString(sub); 
 

La salida sería:

 Fernando
 Mariano 
 
Atención
Si todos las sub strings están en el mismo nivel entonces el orden de aparición de las string es respetado. Si las string están anidadas entonces la string mas profunda va primero.
Parámetros
[in]strCadena a analizar.
[in]DelLDelimitador izquierdo. Debe ser diferente al delimitador derecho.
[in]DelRDelimitador derecho. Debe ser diferente al delimitador izquierdo.
Devuelve
Retorna todas las cadenas de texto dentro de un par de delimitadores.
Ejemplos
example_ra_string_subs.cpp.

◆ SubsInString() [2/2]

std::vector< std::string > Pds::Ra::SubsInString ( const std::string &  str,
const std::string &  DelL,
const std::string &  DelR,
bool  Full = false 
)

Retorna todas las cadenas de texto dentro de un par de delimitadores.


std::vector<std::string> sub;
sub=Pds::Ra::SubsInString("Hola <name>Fernando</name> como está <name>Mariano</name>?.",<name>,</name>);
Pds::Ra::PrintVectorString(sub); 
 

La salida sería:

 Fernando
 Mariano 
 
Atención
Si todos las sub strings están en el mismo nivel entonces el orden de aparición de las string es respetado. Si las string están anidadas entonces la string mas profunda va primero.
Parámetros
[in]strCadena a analizar.
[in]DelLDelimitador izquierdo. Debe ser diferente al delimitador derecho.
[in]DelRDelimitador derecho. Debe ser diferente al delimitador izquierdo.
[in]FullIndica si se incluyen o no los tags en el std::string retornado.
Devuelve
Retorna todas las cadenas de texto dentro de un par de delimitadores.

◆ FirstSubInString()

std::string Pds::Ra::FirstSubInString ( const std::string &  str,
const std::string &  DelL,
const std::string &  DelR,
bool  Full = false 
)

Retorna la primera cadena de texto dentro de un par de delimitadores.


std::string sub;
sub=Pds::Ra::FirstSubInString("Hola <name>Fernando</name> como está <name>Mariano</name>?.",<name>,</name>);
std::cout<<sub<<"\n";
 

La salida sería:

 Fernando 
 
Parámetros
[in]strCadena a analizar.
[in]DelLDelimitador izquierdo. Debe ser diferente al delimitador derecho.
[in]DelRDelimitador derecho. Debe ser diferente al delimitador izquierdo.
Devuelve
Retorna la primera cadena de texto dentro de un par de delimitadores.
Parámetros
[in]FullIndica si se incluyen o no los tags en el std::string retornado.
Ejemplos
example_binarytreenode.cpp y example_ra_string_subs.cpp.

Referenciado por Pds::BinaryTreeNode< Datum >::ImportXmlFromString().

◆ FirstSubIdsInString()

std::vector< unsigned long int > Pds::Ra::FirstSubIdsInString ( const std::string &  str,
const std::string &  DelL,
const std::string &  DelR,
bool  Full = false 
)

Retorna la {posición, longitud} de la primera cadena de texto dentro de un par de delimitadores.


std::vector<unsigned long int> Id;
Id=Pds::Ra::FirstSubIdsInString("Hola <name>Fernando</name> como está <name>Mariano</name>?.","<name>","</name>");
std::cout<<Id[0]<<"\n";
std::cout<<Id[1]<<"\n";
 

La salida sería:

 11
 8
 
Parámetros
[in]strCadena a analizar.
[in]DelLDelimitador izquierdo. Debe ser diferente al delimitador derecho.
[in]DelRDelimitador derecho. Debe ser diferente al delimitador izquierdo.
[in]FullIndica si se incluyen o no los tags en el std::string retornado.
Devuelve
Retorna la {posición, longitud} de la primera cadena de texto dentro de un par de delimitadores.
Ejemplos
example_ra_string_subs.cpp.

◆ SubsXmlInString()

std::vector< std::string > Pds::Ra::SubsXmlInString ( const std::string &  str,
bool  Full,
std::vector< std::string > &  Tag 
)

Busca etiquetas tag entre '<' y '>' de modo de que se busca la forma <tag> dato </tag>. Se retorna dato y tag.


    std::vector<std::string> str;
    std::vector<std::string> tag;
    str=Pds::Ra::SubsXmlInString("Hola <name>  Fernando  </name> como está <fisrt> \tpujaico  </fisrt>?.",false,tag);
    Pds::Ra::PrintVectorString(str);
    Pds::Ra::PrintVectorString(tag);
     

La salida sería:

Fernando
pujaico
name
fisrt
     
Parámetros
[in]strCadena a analizar.
[in]FullIndica si se incluyen o no los tags en el std::string retornado.
[out]TagRetorna las etiquetas encontradas.
Devuelve
Retorna el dato (Pds::Ra::Trim()) entre las etiquetas econtradas.
Ejemplos
example_ra_string_xml.cpp.

Referenciado por Pds::BinaryTreeNode< Datum >::ImportXmlFromString().

◆ IsInteger()

bool Pds::Ra::IsInteger ( const std::string &  str)

Retorna true si es un entero (positivo o negativo) o false si no.

Parámetros
[in]strCadena a anlizar.
Devuelve
Retorna true si es un entero (positivo o negativo) o false si no.
Ejemplos
example_ra_string_is.cpp.

◆ IsReal()

bool Pds::Ra::IsReal ( const std::string &  str)

Retorna true si es un real (double) o false si no.

Parámetros
[in]strCadena a anlizar.
Devuelve
Retorna true si es un real (double) o false si no.
Ejemplos
example_ra_string_is.cpp.

◆ ElementsInString()

int Pds::Ra::ElementsInString ( const std::string &  str)

Retorna el número de elementos en la cadena. Internamente usa la funcion isspace().

Un elemento es un grupo de caracteres consecutivos que no contienen white-spaces:

' ' (0x20) space (SPC)
'\t' (0x09) horizontal tab (TAB)
'\n' (0x0a) newline (LF)
'\v' (0x0b) vertical tab (VT)
'\f' (0x0c) feed (FF)
'\r' (0x0d) carriage return (CR)

Por ejemplo la siguiente cadena (str) contiene 3 elementos ("abc", "104","de10j"):


char str[]="abc  104\t\r\tde10j \n  ";
std::cout<<Pds::Ra::ElementsInString(str)<<"\n";

La salida sería:

 3 
 
Parámetros
[in]strCadena a testar.
Devuelve
Retorna el número de elementos en la cadena o negativo en caso de error.
Ver también
isspace()
Ejemplos
example_ra_string.cpp.

◆ ArraySizeInString()

bool Pds::Ra::ArraySizeInString ( std::string  str,
unsigned int &  Nlin,
unsigned int &  Ncol 
)

Retorna el número de lineas significativas y columnas de un archivo. Se asume que es un archivo de texto. Internamente usa la funcion isspace().

Una linea no significativa solo contiene white-spaces:

' ' (0x20) space (SPC)
'\t' (0x09) horizontal tab (TAB)
'\n' (0x0a) newline (LF)
'\v' (0x0b) vertical tab (VT)
'\f' (0x0c) feed (FF)
'\r' (0x0d) carriage return (CR)

std::cout   <<"STATE: "<<Pds::Ra::ArraySizeInString("1 2 3\n4 5 6",Nlin,Ncol)<<std::endl
            <<" Nlin: "<<Nlin<<std::endl
            <<" Ncol: "<<Ncol<<std::endl;

La salida sería:

STATE: 1
 Nlin: 2
 Ncol: 3 
 
Atención
El número de columnas debe ser constante caso contrario retorna false.
Parámetros
[in]strCadena a leer.
[out]NlinVariable donde se guardara el numero de lineas.
[out]NcolVariable donde se guardara el numero de columnas.
Devuelve
Retorna true si todo fue bien o false si no. Si el numero de columnas no es constante entonces se retorna false. Si fue retornado false entonces Nlin y Ncol no son modificados.
Ver también
isspace()
Ejemplos
example_ra_string.cpp.

◆ ListSplitString()

std::list< std::string > Pds::Ra::ListSplitString ( std::string  str,
std::string  delimeters 
)

Retorna una lista con los elementos en la cadena. Internamente usa la funcion isspace().

Por ejemplo la siguiente cadena contiene 3 elementos ("abc", "104","de10j"):


char str[]="abc;104\tde10j";

std::list<std::string> token=Pds::Ra::ListSplitString(str,"\t;,");

std::list<std::string>::iterator iter;
for( iter = token.begin(); iter != token.end(); ++iter)
std::cout<<"["<<*iter<<"]\n";

La salida sería:

abc
104
de10j 
 
Parámetros
[in]strCadena a dividir.
[in]delimetersCadena con posibles delimitadores.
Devuelve
Retorna una lista con los elementos separados por alguno de los delimitadores.
Ejemplos
example_ra_string.cpp.

◆ VectorSplitString() [1/2]

std::vector< std::string > Pds::Ra::VectorSplitString ( std::string  str,
std::string  delimeters 
)

Retorna un vector con los elementos en la cadena. Internamente usa la funcion isspace().

Por ejemplo la siguiente cadena contiene 3 elementos ("abc", "104","de10j"):


char str[]="abc;104\tde10j";

std::list<std::string> token=Pds::Ra::VectorSplitString(str,"\t;,");

Pds::Ra::PrintVectorString(token); 

La salida sería:

abc
104
de10j 
 
Parámetros
[in]strCadena a dividir.
[in]delimetersCadena con posibles delimitadores.
Devuelve
Retorna una lista con los elementos separados por alguno de los delimitadores.

◆ VectorSplitString() [2/2]

std::vector< std::string > Pds::Ra::VectorSplitString ( std::string  str,
std::string  delimiter,
bool  include_void 
)

Retorna un vector con los elementos en la cadena. Internamente usa la funcion isspace().

Por ejemplo la siguiente cadena contiene 3 elementos ("abc", "104","de10j"):


char str[]="abc;104\tde10j";

std::list<std::string> token=Pds::Ra::VectorSplitString(str,";");

Pds::Ra::PrintVectorString(token); 

La salida sería:

abc
104\tde10j 
 
Parámetros
[in]strCadena a dividir.
[in]delimiterCadena con el delimitador.
[in]include_voidIncluye elementos vacios.
Devuelve
Retorna una lista con los elementos separados por alguno de los delimitadores.

◆ SplitSingleTagAndData()

std::vector< std::string > Pds::Ra::SplitSingleTagAndData ( const std::string &  str,
char  wrap,
char  Eq 
)

Dado un caracter wrap y un caracter separador, retorna un vector con dos elementos el tag y el dato. La función elimina caracteres en blanco antes y depues de str, y antes y despues del dato. Internamente usa la funcion isspace().

Por ejemplo :


std::string str="  $etiqueta$ \t = \t cadena de texto.  \t ";
data=Pds::Ra::SplitSingleTagAndData(str,'$','=');
std::cout<<str<<std::endl;
Pds::Ra::PrintVectorString(data);

La salida sería:

$etiqueta$       =       cadena de texto.        
etiqueta
cadena de texto.
 
Parámetros
[in]strCadena a dividir.
[in]wrapCaracter que envuelve al tag.
[in]EqCaracter delimitador.
Devuelve
Retorna un vector con dos elementos el {tag, dato}. En caso de detectar algun error en el formato retorna un vector sin elementos.
Ejemplos
example_ra_string_split.cpp.

◆ SplitMultipleTagAndSeparator()

std::vector< std::string > Pds::Ra::SplitMultipleTagAndSeparator ( const std::string &  str,
char  wrap,
char  sep,
char  dc 
)

Dado un caracter wrap y un caracter separador, retorna un vector con varios elementos (tags). La función elimina caracteres en blanco antes y depues de str, y antes y despues de los tags. Internamente usa la funcion isspace().

Por ejemplo :


std::string str="  $etiqueta1$   ;       $etiqueta2$ ; $etiqueta3$ ; $texto:$texto$  ";
data=Pds::Ra::SplitMultipleTagAndSeparator(str,'$',';',':');
std::cout<<str<<std::endl;
Pds::Ra::PrintVectorString(data);

La salida sería:

$etiqueta1$      ;       $etiqueta2$ ; $etiqueta3$ ; $texto:$texto$
etiqueta1
etiqueta2
etiqueta3
texto1$texto2
 
Parámetros
[in]strCadena a dividir.
[in]wrapCaracter que envuelve al tag.
[in]sepCaracter separador.
[in]dcCaracter desabilitador de wrap.
Devuelve
Retorna un vector con las etiquetas. En caso de detectar algun error en el formato retorna un vector sin elementos.
Ejemplos
example_ra_string_split_tag.cpp.

◆ SplitMultipleObjectsAndSeparator()

std::vector< std::string > Pds::Ra::SplitMultipleObjectsAndSeparator ( const std::string &  str,
char  DelL,
char  DelR,
char  sep 
)

Dado un par de caracteres y un caracter separador, retorna un vector con varios objetos. La función elimina caracteres en blanco antes y depues de str, y antes y despues de los objetos. Internamente usa la funcion isspace().

Por ejemplo :


std::string str="  {etiqueta1 {child} more text }        ;       {etiqueta2} ; {etiqueta3}  ";
data=Pds::Ra::SplitMultipleTagAndSeparator(str,'{','}',';');
std::cout<<str<<std::endl;
Pds::Ra::PrintVectorString(data);

La salida sería:

{etiqueta1 {child} more text }   ;       {etiqueta2} ; {etiqueta3}  
{etiqueta1 {child} more text }
{etiqueta2}
{etiqueta3}
 
Parámetros
[in]strCadena a dividir.
[in]DelLCaracter derecho.
[in]DelRCaracter izquierdo.
[in]sepCaracter separador.
Devuelve
Retorna un vector con las etiquetas. En caso de detectar algun error en el formato retorna un vector sin elementos.
Ejemplos
example_ra_string_split_object.cpp.

◆ NaturalCompare()

bool Pds::Ra::NaturalCompare ( const std::string &  str1,
const std::string &  str2 
)

Esta función compara las cadenas str1 y str2 de forma natural (tomando en cuenta números).


std::string str1="filename7.txt";
std::string str2="filename20.txt";
std::cout<<"Pds::Ra::NaturalCompare(str1,str2): "<<Pds::Ra::NaturalCompare(str1,str2)<<std::endl;
std::cout<<"Pds::Ra::NaturalCompare(str2,str1): "<<Pds::Ra::NaturalCompare(str2,str1)<<std::endl;

La salida sería:

Pds::Ra::NaturalCompare(str1,str2): 1
Pds::Ra::NaturalCompare(str2,str1): 0 
 
Parámetros
[in]str1Cadena a comparar.
[in]str2Cadena a comparar.
Devuelve
Retorna true si str1<str2 o false si no.
Ejemplos
example_ra_string_compare.cpp y example_ra_string_naturalsorting.cpp.

◆ IsSpacesString()

bool Pds::Ra::IsSpacesString ( const std::string &  str)

Esta función comprueba si los caracteres en la cadena son caracteres no visibles (white-spaces). Internamente usa la funcion isspace().

Estos son:

' ' (0x20) space (SPC)
'\t' (0x09) horizontal tab (TAB)
'\n' (0x0a) newline (LF)
'\v' (0x0b) vertical tab (VT)
'\f' (0x0c) feed (FF)
'\r' (0x0d) carriage return (CR)

char str1[]=" \t \t \n";
char str2[]=" Hola como\testas \n";
if(Pds::Ra::IsSpacesString(str1))   std::cout<<"str1 is a space line\n";
else                                std::cout<<"str1 is not a space line\n";

if(Pds::Ra::IsSpacesString(str2))   std::cout<<"str2 is a space line\n";
else                                std::cout<<"str2 is not a space line\n";

La salida sería:

str1 is a space line
str2 is not a space line
 
Parámetros
[in]strCadena a leer.
Devuelve
Retorna true si la cadena solo contiene white-spaces y false si no.
Ver también
isspace()
Ejemplos
example_ra_string.cpp.

◆ Trim()

std::string Pds::Ra::Trim ( const std::string &  str)

Esta función retorna una cadena que elimina al inicio y al final algunos caracteres si estos son caracteres no visibles (white-spaces). Internamente usa la funcion isspace().

Estos son:

' ' (0x20) space (SPC)
'\t' (0x09) horizontal tab (TAB)
'\n' (0x0a) newline (LF)
'\v' (0x0b) vertical tab (VT)
'\f' (0x0c) feed (FF)
'\r' (0x0d) carriage return (CR)

char str2[]=" Hola como\testas \n";
std::cout<<"str2 :["<<Pds::Ra::Trim(str2)<<"]"<<std::endl;

La salida sería:

[Hola como      estas]
 
Parámetros
[in]strCadena a leer.
Devuelve
Retorna true si la cadena solo contiene white-spaces y false si no.
Ver también
isspace()
Ejemplos
example_ra_string.cpp.

Referenciado por Pds::BinaryTreeNode< Datum >::ImportXmlFromString().

◆ ToLower()

std::string Pds::Ra::ToLower ( const std::string &  str)

Crea una nueva cadena con datos lower case.


char str[]="Hola CoMo EsTaS";
std::cout<<Pds::Ra::Trim(str)<<std::endl;

La salida sería:

hola como estas
 
Parámetros
[in]strCadena a leer.
Devuelve
Retorna una nueva cadena con datos lower case o una cadena vacia en caso de error.

◆ CiCompare()

int Pds::Ra::CiCompare ( const std::string &  str1,
const std::string &  str2 
)

Case-insensitive compare. Retorna 0 si las cadenas son iguales o un numero diferente de 0 si no.


std::cout<<Pds::Ra::CiCompare("ABC","abc")<<std::endl;
std::cout<<Pds::Ra::CiCompare("AbC","aBc")<<std::endl;
std::cout<<Pds::Ra::CiCompare("abc","abc")<<std::endl;
std::cout<<Pds::Ra::CiCompare("abc","azc")<<std::endl;
std::cout<<Pds::Ra::CiCompare("abc","abc1")<<std::endl;

La salida sería:

0
0
0
-6144
-1
 
Parámetros
[in]str1Cadena a comparar.
[in]str2Cadena a comparar.
Devuelve
Retorna 0 si las cadenas son iguales o un numero diferente de 0 si no.
  • 0 They compare equal
  • <0 Either the value of the first character that does not match is lower in the compared string, or all compared characters match but the compared string is shorter.
  • >0 Either the value of the first character that does not match is greater in the compared string, or all compared characters match but the compared string is longer.
Ejemplos
example_ra_string_compare.cpp.

◆ Repeat()

std::string Pds::Ra::Repeat ( const std::string &  str,
unsigned int  N 
)

Repite N veces una cadena de tipo std::string.


std::cout<<Pds::Ra::Repeat("s=",5)<<std::endl;

La salida sería:

s=s=s=s=s= 
 
Parámetros
[in]strCadena a repetir.
[in]NNúmerod e vexes que se repite.
Devuelve
Retorna una std::string con str repetido N veces.
Ejemplos
example_matrix_operators_binary.cpp.

◆ ReplaceAll()

std::string Pds::Ra::ReplaceAll ( std::string  str,
const std::string &  from,
const std::string &  to 
)

Remplaza todas las cadenas desde from a to.


std::cout<<Pds::Ra::ReplaceAll("Hola amigo como estas tu","amigo","tu")<<std::endl;

La salida sería:

Hola tu como estas tu
 
Parámetros
[in]strCadena a analizar.
[in]fromCadena de origen a ser remplazada.
[in]toCadena de remplazo.
Devuelve
Retorna una std::string modificada.
Ejemplos
example_ra_string_replace.cpp.

◆ ToString()

template<typename T >
std::string Pds::Ra::ToString ( val)

Convierte en std::sring un int,long,unsigned int, unsigned long, float o double.


std::cout<<Pds::Ra::ToString(0.1234567890123456789)<<std::endl;

La salida sería:

0.12345678901235 
 
Parámetros
[in]valEl elemento a convertir en std::string.
Devuelve
Retorna el valor convertido en std::string.
Ejemplos
example_ra_string.cpp.

◆ SaveString()

bool Pds::Ra::SaveString ( const std::string &  filepath,
const std::string &  str 
)

Save the string in a text file.

Por ejemplo:


std::string str="abc;104\tde10j";

if(Pds::Ra::SaveString("filedat.txt",str))   sdt::cout<<"All OK\n";
else                                         std::cout<<"Error saving the file\n";

La salida sería:

All OK 
 
Parámetros
[in]filepathDireccion y nombre del archivo donde se escribira la cadena.
[in]strCadena a escribir.
Devuelve
Retorna true si todo salio bien o false en caso de error.
Ejemplos
example_matrix_export_sample_block.cpp, example_matrix_export_tensor_block.cpp, example_ra_file.cpp y example_vector_create.cpp.

◆ LoadString()

bool Pds::Ra::LoadString ( const std::string &  filepath,
std::string &  str 
)

Load the string in a text file.

Por ejemplo:


std::string str;

if(Pds::Ra::LoadString("filedat.txt",str))   sdt::cout<<"All OK\n";
else                                         std::cout<<"Error loading the file\n";

La salida sería:

All OK 
 
Parámetros
[in]filepathDireccion y nombre del archivo donde se escribira la cadena.
[out]strCadena a escribir.
Devuelve
Retorna true si todo salio bien o false en caso de error.
Ejemplos
example_ra_file.cpp.

◆ SaveVectorString()

bool Pds::Ra::SaveVectorString ( const std::string &  filepath,
const std::vector< std::string > &  str 
)

Save each string of a vector string in a new line in a text file.

Por ejemplo:


std::vector<std::string> str={"hola","como","estas"};

if(Pds::Ra::SaveVectorString("filedat.txt",str))
    sdt::cout<<"All OK\n";
else
    std::cout<<"Error saving the file\n";

La salida sería:

All OK 
 
Parámetros
[in]filepathDireccion y nombre del archivo donde se escribira la cadena.
[in]strCadena a escribir.
Devuelve
Retorna true si todo salio bien o false en caso de error.
Ejemplos
example_ra_string.cpp.

◆ PrintVectorString() [1/2]

bool Pds::Ra::PrintVectorString ( const std::vector< std::string > &  str)

Print each string of a vector string in a new line in a text file.

Por ejemplo:


std::vector<std::string> str_vec={"hola","como","estas"};

Pds::Ra::PrintVectorString(str_vec)

La salida sería:

hola
como
estas 
 
Parámetros
[in]strCadena a escribir.
Devuelve
Retorna true si todo salio bien o false en caso de error.
Ejemplos
example_csv_create.cpp, example_matrix_export.cpp, example_ra_file.cpp, example_ra_string_split.cpp, example_ra_string_split_object.cpp, example_ra_string_split_tag.cpp, example_ra_string_subs.cpp y example_ra_string_xml.cpp.

◆ PrintVectorString() [2/2]

bool Pds::Ra::PrintVectorString ( const std::vector< std::string > &  str,
std::string  delim_elem,
std::string  delim_end 
)

Print each string of a vector string in a new line in a text file.

Por ejemplo:


std::vector<std::string> str_vec={"hola","como","estas"};

Pds::Ra::PrintVectorString(str_vec,";","\n")

La salida sería:

hola;como;estas
 
Parámetros
[in]strCadena a escribir.
[in]delim_elemDelimitador entre elementos.
[in]delim_endDelimitador de final.
Devuelve
Retorna true si todo salio bien o false en caso de error.

◆ PrintGridString()

bool Pds::Ra::PrintGridString ( const Pds::Grid< std::string > &  str,
std::string  delim_elem,
std::string  delim_end 
)

Print each string of a Pds::Grid<std::string> in a text file.

Por ejemplo:


Pds::Ra::PrintGridString(grid,";","\n");

La salida sería:

hola;como;estas
hi;you;also
 
Parámetros
[in]strGrid a escribir.
[in]delim_elemDelimitador entre elementos.
[in]delim_endDelimitador de final.
Devuelve
Retorna true si todo salio bien o false en caso de error.
Ejemplos
example_csv_create.cpp.

◆ ExportOctaveCellString()

std::string Pds::Ra::ExportOctaveCellString ( const std::vector< std::string > &  X,
const std::string &  pname 
)

Exporta un std::vector<std::string> a una cadena en formato de código m.

Por ejemplo:


Pds::Ra::ExportOctaveCellString({"Hola","Casa"},"Pvar");

La salida sería:

Pvar={"Hola","Casa"};
 
Parámetros
[in]XDato a salvar.
[in]pnameNombre de la variable en octave.
Devuelve
Retorna una cadena de texto con la variable X en el formato de código m.

Enlaces de interés

HomePage Bazaar Download Bug report Ayuda Developer Feed