Mostrando entradas con la etiqueta substring. Mostrar todas las entradas
Mostrando entradas con la etiqueta substring. Mostrar todas las entradas

miércoles, 26 de agosto de 2015

Saber si un string está contenido dentro de otro string


La función index y rindex en Perl

La función index en Perl devuelve la posición de un substring dentro de un string. Si no lo encuentra devuelve -1. Tiene un tercer parámetro opcional que marca en qué posición comenzar la búsqueda. Por defecto comienza a buscar desde el inicio del string.
La función rindex busca la última posición del substring dentro de un string. El tercer parámetro opcional marca en qué posición comenzar la búsqueda, si no se da ninguna posición empieza por el final del string.

my $cadena = "Mauricio compra todo con tarjeta";
my ($subc1,$subc2) = ('compra','vende');
print index($cadena,$subc1); # imprime 9
print index($cadena,$subc1,10); # imprime -1
print index($cadena,$subc2); # imprime -1

Encontrar todos los substrings


my $abc = "Luis le prestó a Ana lo que Luisa no le pudo prestar a Luisana\n";
my $pos = length($abc) - 1; # Calcular la posición del último carácter 
print "Luis se encontró en las posiciones: ";

while(1)
{
  $pos = rindex($abc, "Luis", $pos);
  last if($pos< 0);
  print $pos--, " ";  # 55 28 0
}

print "\n";


La función strpos y strrpos en Php

La función strpos en Php devuelve la primer ocurrencia de un substring dentro de un string. Si no lo encuentra devuelve false. El valor 0 no debe confundirse con el valor false, 0 es la primer posición del string. Tiene un tercer parámetro opcional que indica desde qué posición empezar la búsqueda.
La función strrpos busca desde el final de la cadena hacia atrás. El tercer parámetro indica desde qué posición empezar a buscar y puede ser negativo, en ese caso cuenta la posición a buscar desde el final del string.

$mystring = 'Daniel sólo vende en efectivo';
$findme   = 'Dan';
$pos = strpos($mystring, $findme);

// Debe usar el operador !== . Usar != podría dar resultados inesperados
// porque la posición de 'Dan' es 0. La comparación (0 != false) evalúa
// a false.
if ($pos !== false) {
     echo "El string '$findme' fue encontrado en el string '$mystring'";
         echo " y existe en la posición $pos";
} else {
     echo "El string '$findme' no fue encontrado en el string '$mystring'";
}
$foo = "0123456789a123456789b123456789c";

var_dump(strrpos($foo, '7', -5));  // Comienza la búsqueda hacia atrás en la 5ta
                                   // posición desde el final. Resultado: int(17)

var_dump(strrpos($foo, '7', 20));  // Comienza la búsqueda desde la posición 20
                                   // del string. Resultado: int(27)

La función indexOf y lastIndexOf en Javascript

La función indexOf en Javascript devuelve la posición de un substring dentro de un string. Si no lo encuentra devuelve -1. Tiene un tercer parámetro opcional que marca en qué posición comenzar la búsqueda. Por defecto comienza a buscar desde el inicio del string.
La función lastIndexOf busca la última posición del substring dentro de un string. El tercer parámetro opcional marca en qué posición comenzar la búsqueda, si no se da ninguna posición empieza por el final del string.

// Ejemplo 1
var str = "Los teléfonos celulares se vuelven cada día más inteligentes";
var n = str.indexOf("e"); 
alert(n); // muestra un 5

// Ejemplo 2
var str = "La inteligencia no se puede medir con un número";
var n = str.lastIndexOf("z", 20); 
alert(n); // muestra un -1