AS2 - как удалить часть строки - PullRequest
1 голос
/ 14 сентября 2011

Я хочу простую функцию, которая может удалить часть строки, например:

var foo="oranges";
trace(removeStrings(foo,'rang'));

Я хочу, чтобы вышеприведенный вывод был «oes».Любая помощь будет принята с благодарностью.

Заранее спасибо

Ответы [ 3 ]

4 голосов
/ 14 сентября 2011

Быстрое решение для удаления подстрок состоит в использовании split со строкой, которую вы хотите удалить в качестве разделителя, а затем join результат:

function removeSubString(str, remove):String {
    return str.split(remove).join("");
}
0 голосов
/ 16 сентября 2011

Я давно использую этот фрагмент, который в качестве преимущества будет доступен для всех строковых объектов в вашем фильме:

String.prototype.replace = function(pattern, replacement) {
  return this.split(pattern).join(replacement);
}

можно использовать следующим образом:

var str = "hello world";
var newstr = str.replace("world", "abc");
trace(newstr);

Как видите, класс строк был расширен с помощью метода replace.

0 голосов
/ 15 сентября 2011

Еще один способ сделать это -

  function removeStrings(originalString, pattern):String
  {
        return originalString.replace(pattern, "");
  }

Для получения дополнительной информации о строках в AS3 вы можете посетить:

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/String.html

Следует отметить, что приведенный выше код не изменит вашу строку, поэтому, если вам нужно использовать свойство originalString с новым значением, которое вы должны использовать:

  originalString = removeStrings(originalString, pattern);

Второе, что я должен упомянуть, - это метод замены, который заменит первое появление шаблона, поэтому, если вам нужно заменить каждое совпадение шаблона, вы должны сделать что-то вроде

 while(originalString.search(pattern) != -1)
 {
       originalString = removeStrings(originalString, pattern);
 }

Надеюсь, это поможет! Иван Маринов

...