La pregunta si para perl. Por ejemplo, si tengo "hello.world"
y el carácter especificado es '.'
, el resultado que deseo es "hello"
.¿Cómo tomar una subcadena de una cadena dada hasta la primera aparición del carácter especificado?
¿Cómo tomar una subcadena de una cadena dada hasta la primera aparición del carácter especificado?
Respuesta
Ver perldoc -f index
:
$x = "hello.world";
$y = substr($x, 0, index($x, '.'));
Usando substr
:
my $string = "hello.world";
my $substring = substr($string, 0, index($string, "."));
O usando expresiones regulares:
my ($substring2) = $string =~ /(.*)?\./;
's/substring/substr/g' –
@JimDavis gracias – yko
El substr dará la cadena hasta el * primer * punto' .', la expresión regular dará la cadena hasta el * último * período. Tenga en cuenta la diferencia. Use '. *?' Para expresiones regulares no codiciosas para obtener la misma funcionalidad. – TLP
use strict;
use warnings;
my $string = "hello.world";
my $dot = index($string, '.');
my $word = substr($string, 0, $dot);
print "$word\n";
le da hello
para WORLD; my $ world = substr ($ cadena, $ punto, longitud ($ cadena)); – Hariboo
Otra posibilidad:
my $string = 'hello.world';
print ((split /\./, $string)[0], "\n");
En el espíritu de TIMTOWTDI, y la introducción de nuevas características: Uso de la non-destructive option/r
my $partial = $string =~ s/\..*//sr;
El codicioso .*
final va a cortar todo después del primer período, incluyendo posibles caracteres de nueva línea (opción /s
), pero mantenga intacta la cadena original y elimine la necesidad de parens para imponer el contexto de la lista (opción /r
).
Presupuesto de perlop:
Si la opción/r (no destructivo) se utiliza a continuación, se ejecuta la sustitución en una copia de la cadena y en lugar de devolver el número de sustituciones, devuelve la copia, haya ocurrido o no una sustitución . La cadena original nunca cambia cuando/r es usado. La copia siempre será una cadena simple, incluso si la entrada es un objeto o una variable vinculada.
- 1. Cortar una cadena en la n. ° aparición de un carácter
- 2. ¿Cómo puedo encontrar la primera aparición de una subcadena en una cadena de Python?
- 3. C# - La manera más sencilla de eliminar la primera aparición de una subcadena de otra cadena
- 4. Último índice de una subcadena dada en MySQL
- 5. Devuelve la parte de una cadena antes de la primera aparición de un carácter en php
- 6. ¿Cómo extraer una subcadena de una cadena en PHP hasta que alcanza cierto carácter?
- 7. Ruby - sustituir la primera aparición de una subcadena por otra cadena
- 8. ¿Cómo obtener la primera aparición de un caracter en Subcadena
- 9. ¿Reemplazar la primera aparición solamente de una cadena?
- 10. ¿Se elimina la primera aparición de palabra de una cadena?
- 11. ¿Cómo encontrar nth aparición de carácter en una cadena?
- 12. mysql: subcadena que devuelve la primera aparición de la derecha? (¿subcadena ?!)
- 13. ¿Cuál es la forma de búsqueda scala idiomática, si una cadena dada contiene una subcadena dada?
- 14. Strip cadena después de la tercera aparición del carácter python
- 15. Buscar el índice de última aparición de una subcadena en una cadena
- 16. ¿Cómo reemplazo la * primera instancia * de una cadena en .NET?
- 17. ¿Cómo reemplazar la última aparición de una subcadena en ruby?
- 18. ¿Cómo puedo verificar si una cadena de Python dada es una subcadena de otra?
- 19. ¿Cómo puedo obtener una subcadena desde la posición N hasta el último carácter en Ruby 1.8.7?
- 20. Compruebe si una cadena contiene una subcadena
- 21. Cómo reemplazar la primera aparición de cadena en Java
- 22. División en la primera aparición
- 23. cómo extraer la subcadena de una cadena hasta que encuentre una coma C# asp.net
- 24. En java, ¿cómo obtener la subcadena de una cadena hasta que un personaje c?
- 25. XSLT Obtiene la primera aparición de una etiqueta específica
- 26. UNIX: ¿Usando egrep o sed para encontrar la línea con la primera aparición de una cadena?
- 27. Eliminar cadena después de la última aparición de un carácter
- 28. ¿Cómo visualizo datos desde el comienzo de un archivo hasta la primera aparición de una expresión regular?
- 29. Reemplazar la primera aparición de cadena en Python
- 30. verificar, si la cadena comienza con la subcadena dada
No quise decir la referencia perldoc como un "RTFM" sino como un "Para obtener más información, vea: ____". :) –