¿Hay una función de cadena de fusión fría para comprobar si una cadena termina con otra cadena? Si no, ¿cuál es la forma más simple y eficiente de lograr esto?¿Cómo se puede verificar si una cadena termina con una subcadena específica?
Respuesta
Puede usar la función right(string, numberofcharacters)
.
ejemplo (cfscript):
existingString = "The Quick brown Fox jumps";
tailString = "umps";
stringMatch = false;
if (right(existingString, len(tailString)) eq tailString){
stringMatch = true;
}
Una solución que he encontrado (http://tutorial130.easycfm.com/) - utilizar una expresión regular de hallazgo - REFindNoCase
, con un signo $
para representar el final de la cadena.
REFindNoCase("end$", "check if this string ends with end")
Esta función funciona bien si solo quiere comparar caracteres literales. Te encontrarás con problemas si tu cadena de búsqueda contiene caracteres especiales con un significado en expresiones regulares. Me gusta.? $ + *. Primero tendrá que escapar de ellos –
Aquí no hay necesidad de expresiones regulares. La solución de @Andreas Schuldhaus es mejor y se explica por qué la expresión regular causa dolores de cabeza. A saber: "Algunas personas, cuando se enfrentan con un problema, piensan" Lo sé, usaré expresiones regulares ". Ahora tienen dos problemas". http://www.codinghorror.com/blog/2008/06/regular-expressions-now-you-have-two-problems.html – orangepips
Personalmente me gusta la expresión regular, pero este es un ejemplo en el que es excesivo. El método left() mencionado anteriormente es más eficiente. –
Aquí es donde salteo al nivel de Java muy rápido.
string = "This is my fancy string";
<cfoutput>#string.endsWith("string")#</cfoutput>
Esta debe ser la salida TRUE
Más detalles aquí: http://download.oracle.com/javase/6/docs/api/java/lang/String.html#endsWith(java.lang.String)
nota que endsWith() es sensible a mayúsculas.
Para evitar esto, use LCase() o UCase(), p.
Ucase(string).endsWith("STRING");
también debe devolver True
- 1. Cómo determinar si una cadena contiene una subcadena específica
- 2. ¿Cómo saber que una cadena comienza/termina con una cadena específica en jQuery?
- 3. verificar, si la cadena comienza con la subcadena dada
- 4. Compruebe si una cadena contiene una subcadena
- 5. Obtener una cadena después de una subcadena específica
- 6. Verificar si una cadena comienza con XXXX
- 7. ¿Cómo puedo verificar si una cadena de Python dada es una subcadena de otra?
- 8. En Java, ¿cómo puedo verificar si una cadena contiene una subcadena (ignorando el caso)?
- 9. Buscar si existe una subcadena en una cadena
- 10. Cómo determinar si es una subcadena en una cadena diferente
- 11. iPhone: ¿Cómo comprobar si existe una subcadena en una cadena?
- 12. Regex para probar si una cadena termina con un número
- 13. Verificar si se selecciona una página de pestañas específica (activa)
- 14. ¿Cuál es la prueba más eficiente de si una cadena PHP termina con otra cadena?
- 15. Compruebe si una cadena termina con un número en PHP
- 16. Verificar si una cadena comienza con una letra minúscula
- 17. Compruebe si una cadena contiene una subcadena en SQL Server 2005, utilizando un procedimiento almacenado
- 18. Cómo verificar si la entrada del usuario finaliza con una cadena específica en el script por lotes (.bat)
- 19. Regex para que coincida con algo que no sea una subcadena específica
- 20. Ruby: ¿Cómo verificar si una cadena es una hora válida?
- 21. En Java, ¿cómo puedo verificar si una colección contiene una instancia de una clase específica?
- 22. ¿Cómo comprobar si una cadena comienza con una cadena especificada?
- 23. Buscar si la cadena termina con otra cadena en C++
- 24. ¿Cómo se extrae una subcadena de una cadena con una expresión regular?
- 25. ¿Cómo puedo verificar si existe una cadena en una matriz?
- 26. ¿Cómo puedo verificar si existe una cadena en otra cadena?
- 27. Sustituir una subcadena con otra subcadena
- 28. Desempaquetar una estructura que termina con una cadena ASCIIZ
- 29. ¿Cómo verificar si __PRETTY_FUNCTION__ se puede usar?
- 30. Regex para que coincida con una cadena completa solo si carece de una subcadena/sufijo dado
Gracias! Parece una buena solución ... Creo que me quedaré con la mía ya que las subcadenas que estoy buscando son una combinación de un par de caracteres alfabéticos ... ¡pero gracias por su respuesta! – froadie
@froadie Su cadena siempre será una combinación de un par de caracteres alfabéticos ... hasta el día en que no sea así. ¿Por qué dejar un posible error cuando hay una solución más clara, segura y mejor? No assUme. – jfrobishow