2010-04-29 9 views
9

С учетом строки A, как определить, содержит ли эта строка подстроку "video/x-flv"?Как определить, содержит ли строка определенную подстроку

+0

Все еще много непринятых ответов, я вижу. – spender

+0

@spender - yep - иногда у меня просто нет времени, чтобы проверить их все. Извините =) – Rella

+0

Интересно, когда люди перестанут задавать вопросы, на которые можно ответить простым взглядом на документацию ... –

ответ

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

Пожалуйста, не застревайте своих операторов вместе с вашими операндами без пробелов вроде этого. 'A.indexOf (« video/x-flv »)> = 0' значительно читабельнее (и соответствует стилю). –

+0

OK. Так привыкли к IDE делать для меня, что я стал ленивым;) – spender

-1

, если (myString.indexof ("А", 0)> 0)

+0

Это совершенно неверно. Иногда это может работать, но кто хочет что-то, что работает только иногда? –

+1

Единственное, что я вижу в этом неправильно, это то, что я забыл '> =' и просто сделал '>'. Что еще не так? Было бы гораздо более эффективной критикой, если бы вы объяснили, почему вы считаете, что это неправильно, а не просто утверждают, что это так. Спасибо – invertedSpear

+0

@ mini-me - форматирование не имеет никакого отношения к этой ситуации, и примерный код так же важен, как использование реальных значений из вопроса, иногда это может быть еще более полезным, поскольку он удаляет шум.Теперь у меня все еще нет ответа, почему это неверно, или объяснение, почему оно будет «работать только иногда», как выразился bug-a-lot. Я могу признать, что это неправильно, но это никому не помогает просто сказать «неправильно» без конструктивной критики. – invertedSpear

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

Или вы можете просто использовать строку, которую вам нужно найти, «скрининг» всех служебных символов RegExp, если они существуют, или использовать шаблон RegExp.

Удачи!

-3

здесь есть функция замены одинарных кавычек со строкой ..

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; 
     } 

Другим простым методом

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

Вы могли бы хотя бы указать на часть этого кода, относящуюся к вопросу. –

2

Это немного старо, но попробовать if(A.indexOf(video/x-flv) != -1){ //Found it }

indexOf будет возвращать -1, если подстрока не появляется в нем. Так что, если это ничего, кроме -1, это означает, что он существует, надеюсь, это поможет, хотя я, вероятно, немного опаздываю!

+0

Принятый ответ уже предоставляет эту информацию ...> = 0 –

0

Просто добавить разнообразие, решение с помощью регулярного выражения:

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

- или как 1-лайнер -

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

RegExp.test() возвращает логическое значение поэтому тест более ясный, чем сравнение с произвольным значением -1 (по крайней мере, для меня).

Однако помните, что этот метод немного медленнее, чем indexOf (source).

Смежные вопросы