Algoritmo ROT 13 en Ruby

Algoritmo de cifrado ROT13 en Ruby

El algoritmo ROT 13 es una variante del cifrado César (cuya implementación en Ruby ya vimos) en donde el número de rotaciones es 13; la mitad de la cantidad de letras que existen en el alfabeto inglés o como se le diga.

Algoritmo ROT 13 en Ruby

Algoritmo ROT 13 en Ruby

Hoy veremos cómo implementar una función que codifique y decodifique una cadena usando el algoritmo ROT 13 en el lenguaje de programación Ruby.

(más…)

Usar find e index para buscar posición de carácter en cadena con Python 3

Posición o índice de un carácter o subcadena en cadena de Python

Vamos a ver cómo obtener el índice numérico de un carácter o letra en una cadena de Python 3. No importa si lo que buscamos es un simple carácter o una subcadena, ambas formas serán cubiertas.

Usar find e index para buscar posición de carácter en cadena con Python 3

Usar find e index para buscar posición de carácter en cadena con Python 3

Los métodos de las cadenas que tiene Python para resolver este problema son dos: find e index. Vamos a explicar cómo se usa cada uno de ellos con ejemplos.

(más…)

Separar cadena a partir de delimitadores en C con strtok

Resumen: en este post te mostraré a separar una cadena en subcadenas a partir de un delimitador, usando C y la función strtok; el equivalente a split en otros lenguajes.

Gracias a esto podríamos separar una cadena por comas, por puntos, por espacios, etcétera.

Dividir cadena en C por cada espacio, guión, coma, entre otros

En C no existe la función split como en otros lenguajes; en donde simplemente ponemos un delimitador y nos devuelve un arreglo; pero tenemos una función que incluso puede ser más poderosa.

Esta función de la que hablo (la cual se llama strtok) nos permitirá dividir una cadena usando un delimitador; por ejemplo una coma.

A partir de una cadena, podemos usar delimitadores para obtener tokens. Pongamos a la cadena “Hola, qué tal. Vamos a programar en C”; si la separamos usando el espacio, las comillas y los signos de puntuación obtendríamos las palabras limpias.

Por poner otro ejemplo, dada una lista delimitada por comas podemos obtener sus elementos. De “Juan,Pedro,María,Rosa” podemos obtener 4 nombres; usando la coma como delimitador.

(más…)

Cadena es igual que otra en Java

Comparar cadenas en Java usando equals y compareTo: la forma correcta

Introducción

Comparar strings o cadenas en Java es algo simple de hacer, pero que podemos hacer mal si no sabemos cuál es la forma correcta. Recordemos que Java trata a las cadenas como objetos, no como tipos primitivos.

Debido a eso, comparar cadenas en Java requiere algo más que usar el operador de igualdad ==.

Veamos hoy cómo podemos comparar cadenas, ya sea para saber si son equivalentes o para saber si una es menor o mayor que otra según el alfabeto.

(más…)

Cómo ordenar arreglos en JavaScript usando sort

Introducción

JavaScript es un lenguaje criticado por muchas personas, precisamente por sus métodos o maneras de hacer las cosas. Una de las cosas más criticadas es cómo ordenar arreglos en JavaScript.

Este lenguaje proporciona todo lo que necesitamos para ordenar arreglos, ya sean arreglos de cadenas, de enteros o incluso de objetos; porque nos permite definir una función de ordenamiento.

Pero bueno, vamos a ver algunos ejemplos para que quede claro. Ordenaremos en orden ascendente y descendente, arreglos de strings, de números y de objetos, usando el método sort.

Espero que después de este post no te queden dudas sobre cómo ordenar arrays. Cubriré los casos más comunes.

Finalmente quiero aclarar que esto funciona tanto en JavaScript del lado del navegador, como en JS del lado del servidor usando Node.JS.

(más…)

Comparar cadenas con strcmp en PHP

Introducción

Para comparar cadenas en PHP usamos la función strcmp que quiere decir algo como string compare. Esta función devuelve números, y dependiendo de ellos podemos saber si una cadena es mayor, menor o igual en PHP.

Veamos entonces esta función para saber si una cadena es igual, mayor o menor que otra. Para ello debemos saber cómo funciona el código ASCII y el alfabeto.

(más…)

Primera letra mayúscula y minúscula en PHP

Introducción

Esta entrada es muy simple, veremos cómo convertir la primera letra de una palabra en mayúscula o minúscula, y también cómo capitalizar una oración completa.

En pocas palabras, veremos cómo poner la primera letra mayúscula usando PHP.

Veremos cómo convertir la palabra “hola” a “Hola” y cómo convertir la oración “hola mundo” en “Hola Mundo”. PHP ya tiene estas funciones incorporadas, así que esto será fácil.

Por cierto, esto también es llamado capitalización de texto o algo así.

(más…)

Ordenar un arreglo ascendente y descendente en PHP

Introducción

Vamos a seguir viendo tutoriales de arreglos con PHP. Ya vimos cómo eliminar un elemento, cómo buscar secuencialmente en uno de ellos y cómo invertirlos.

Lo que nos reúne aquí hoy es: cómo ordenar un arreglo en PHP.

El ordenamiento de arreglos en PHP es una cosa muy sencilla. Puede ordenar arreglos de números o de cadenas, cosa que veremos hoy. También veremos cómo cambiar el orden para que no siempre sea ascendente.

Nota: mira este tutorial para ordenar arreglos por fecha.

(más…)

Comprobar si comienza con vocal en JavaScript

Introducción

Ya que andamos viendo cómo trabajar con cadenas en JavaScript, analicemos cómo podemos comprobar si una cadena comienza con una vocal en JavaScript.

Es algo realmente sencillo e incluso podría tomarse como un repollo (repost) de otro post anterior. Sin embargo, prefiero hacerlo por si alguien se quedó con la duda; cuando uno es novato no sabe cosas obvias.

(más…)

Comprobar si cadena comienza con otra en JavaScript

Introducción

Ya vimos cómo saber si una cadena termina con una letra u otra cadena usando JS. Veamos hoy el proceso inverso o contrario: cómo saber si una cadena empieza o comienza con una letra o con otra cadena.

ES6 ha incorporado algunas nuevas funciones que nos facilitarán la vida, y si queremos soportar navegadores desactualizados también podemos hacerlo con un polyfill.

(más…)