Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Обрезать пробелы с двух сторон. (http://www.flasher.ru/forum/showthread.php?t=209575)

ivaniyses 23.11.2014 08:39

Обрезать пробелы с двух сторон.
 
Ребят, подскажите метод, обрезающий пробелы от строки с двух сторон.

caseyryan 23.11.2014 10:11

Регуляркой можешь резануть
Код AS3:

var text:String = " какой-то текст с пробелами с двух сторон ";
trace("|" + text + "|"); // | какой-то текст с пробелами с двух сторон |
text = text.replace(/(^\s+)|(\s+$)/g, "");
trace("|" + text + "|"); // |какой-то текст с пробелами с двух сторон|


Nooob 24.11.2014 23:18

Код AS3:

var text:String = " какой-то текст с пробелами с двух сторон ";
                        if (text.charCodeAt(0) == 32)
                        {
                                text = text.substring(1);
                        }
                        var n:int = text.length - 1;
                        if (text.charCodeAt(n) == 32)
                        {
                                text = text.substring(0, n);
                        }


Wolsh 25.11.2014 00:39

А если пробелов два?
Не if, а while.

caseyryan 25.11.2014 06:39

А если там tab? :D
Зачем городить такой огород, когда есть RegExp?
А если написать вот так
Код AS3:

text = text.replace(/((^\s+)|(\s+$))|(\s{2})/g, "");

То будут удалены так же лишние пробелы / табы и внутри самой строки

in4core 25.11.2014 14:05

Цитата:

Зачем городить такой огород, когда есть RegExp?
Единицы умеют им пользоваться и понимают работу - вот почему

caseyryan 25.11.2014 17:37

Цитата:

Единицы умеют им пользоваться и понимают работу - вот почему
На самом деле там все просто. Чтобы это понять, достаточно пары часов на чтение книжки Джефри Фриддла. В регулярке, которую написал я, нет вообще ничего сложного.

in4core 25.11.2014 22:03

Кость ну понимаешь одним тяжело освоить ООП хотя бы поверхностно, а ты говоришь читать целую книжку про какой то один грубо говоря метод из миллиона возможных. Конечно никто это не читает, тебе вот интересно было - ты залез и прочел, а мне допустим другое интересно, чего ты не знаешь, я полез и прочел.
А самый простой варинат зайти на сайт регЭкспа и сформировать регулярку.

nubideus 26.11.2014 00:23

" asd ".slice(1, -1)

Цитата:

while
Код AS3:

var str:String = " asd  asasd  ";
var spaceCode:uint = " ".charCodeAt(0);
 
var left:uint = 0;
var right:uint = str.length;
var result:String = str;
 
while(left < right){
  if(str.charCodeAt(left) !== spaceCode) break;
  left++;
}
while(left < right){
  if(str.charCodeAt(right - 1) !== spaceCode) break;
  right--;
}
if(right - left ^ str.length){
  result = str.substring(right, left);
}else if(left === right) result = "";



Часовой пояс GMT +4, время: 15:06.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.