2010-04-29 29 views
9

Dada una cadena A, ¿cómo puedo determinar si esa cadena contiene la subcadena "video/x-flv"?Cómo determinar si una cadena contiene una subcadena específica

+0

Todavía hay muchas respuestas no aceptadas, ya veo. – spender

+0

@spender - sí, a veces simplemente no tengo tiempo para revisarlos todos. Lo siento =) – Rella

+0

Me pregunto cuándo las personas dejarán de hacer preguntas que pueden ser respondidas con un simple vistazo a la documentación ... –

Respuesta

22
A.indexOf("video/x-flv") >= 0 
+3

No bloquee sus operadores junto con sus operandos sin espacios en blanco como este. 'A.indexOf (" video/x-flv ")> = 0' es significativamente más legible (y se ajusta a las pautas de estilo). –

+0

OK. Tan acostumbrado a que el IDE haga por mí que me he vuelto perezoso;) – spender

-1

si (myString.indexof ("A", 0)> 0)

+0

Eso es bastante incorrecto. Todavía podría funcionar a veces, pero ¿quién querría algo que funciona solo algunas veces? –

+1

lo único que veo mal es que olvidé el '> =' y acabo de hacer un '>'. ¿Qué más está mal con eso? Sería una crítica mucho más efectiva si explicara por qué cree que está mal en lugar de solo afirmar que lo es. Gracias – invertedSpear

+0

@ mini-me: formatear no hace ninguna diferencia en esta situación, y el código de ejemplo es tan relevante como usar valores reales de la pregunta, a veces puede ser aún más útil ya que elimina el ruido.Ahora todavía no tengo una respuesta sobre por qué esto es incorrecto, o una explicación de por qué solo "funcionaría algunas veces" como lo dijo un error. Puedo aceptar que está mal si lo es, pero no ayuda a nadie a decir "incorrecto" sin una crítica constructiva. – invertedSpear

0
if (someString.search('\\[someValueInSquareBracketsForExmaple\\]') == -1) Alert.show('String not found!') 
    else Alert.show('String found!') 

O simplemente puede usar la cadena que necesita para encontrar, "seleccionar" todos los caracteres de servicio de RegExp si existen o usar el patrón RegExp.

¡Buena suerte!

-3

aquí es una función para reemplazar comilla simple con una cadena ..

var str:String = "hello'welcome'"; 

str = findAndReplace(str,"'","&quote;"); 
trace(str); 

str = findAndReplace(str,"&quote;","'"); 
trace(str); 

function findAndReplace(haystack:String, needle:String, replace:String) 
     { 
      while(haystack.indexOf(needle)>=0) { 
       haystack = haystack.replace(needle,replace); 
      } 
      return haystack; 
     } 

Otro método fácil es

var theContent:String = "&quote; I hate &quote; when content has ' words like, ' in i" 
      theContent = theContent.split("&quote;").join("'"); 
      trace(theContent); 
+0

Podría al menos señalar la parte de ese código que es pertinente para la pregunta. –

2

esto es un poco viejo, pero trate if(A.indexOf(video/x-flv) != -1){ //Found it }

indexOf devolverá -1 si la subcadena no aparece en ella. Entonces, si es cualquier cosa menos -1, significa que sí existe, ¡espero que esto ayude, aunque es probable que sea un poco tarde!

+0

La respuesta aceptada ya proporciona esta información ...> = 0 –

0

sólo para añadir variedad, una solución utilizando una expresión regular:

var videoTypeMatcher:RegExp = /video\/x-flv/g; 
if (videoTypeMatcher.test(A)) {...} 

- o como un 1-liner -

if (/video\/x-flv/g.test(A)) {...} 

RegExp.test() devuelve un Boolean entonces la prueba es más clara que la comparación con un valor arbitrario de -1 (al menos para mí).

Sin embargo, recuerde que este método es un poco más lento que indexOf (source).

Cuestiones relacionadas