Форум программистов, компьютерный форум, киберфорум
Наши страницы
JavaScript: RegExp
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
__PION__
958 / 799 / 85
Регистрация: 21.07.2010
Сообщений: 3,521
1

Порезать строку

11.04.2013, 00:53. Просмотров 763. Ответов 9
Метки нет (Все метки)

Привет!
Как убрать хвост строки(?), кол-во символов в хвосте постоянное, длина самой строки разная.
substr как понимаю не совсем подходит
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.04.2013, 00:53
Ответы с готовыми решениями:

RichTextBox/textbox порезать строку на определенные промежутки
Вечер добрый, работяги:), нужен небольшой вопросик с реализацией. Есть 2 рич/текст бокса. В первый...

Порезать на ласкуты
Приветствутвую! Есть код: Bitmap bitmap = new Bitmap("edimge.bmp"); int...

Кто может порезать полигоны?
Без заморочек, так, чисто функцией программы. Просто программ полно, а качать и ставить из - за...

Как порезать скорость на порту?
Добрый день. На cisco 1921 хотел порезать скорость инета до 8 мбит на одном порту. Сделал...

Порезать изображения на маленькие частицы?
Порезать Bitmap на маленькие частицы и сохранить их в папку или pictureList? Например на такие...

9
xenohunter
Дзен-программист
120 / 85 / 16
Регистрация: 10.04.2013
Сообщений: 253
11.04.2013, 01:16 2
Love_and_Peace, можно обрезать регулярным выражением:

Javascript
1
2
3
4
var string = 'такая вот строка, а затем ХВОСТ',
    result;
 
result = string.replace(/ХВОСТ$/, '');
0
__PION__
958 / 799 / 85
Регистрация: 21.07.2010
Сообщений: 3,521
11.04.2013, 01:21  [ТС] 3
хорошо, нужен и код чтобы и хвост сохранялся
1
xenohunter
Дзен-программист
120 / 85 / 16
Регистрация: 10.04.2013
Сообщений: 253
11.04.2013, 01:26 4
Love_and_Peace, вот, должно работать:

Javascript
1
2
3
4
5
6
7
var string = 'такая вот строка, а затем ХВОСТ',
    result,
    tail,
    tailLength = 5;
 
result = string.replace(/ХВОСТ$/, '');
tail = string.substr(string.length - tailLength, string.length);
0
Drygba
509 / 451 / 119
Регистрация: 17.02.2012
Сообщений: 1,032
Записей в блоге: 1
11.04.2013, 10:16 5
почему бы не воспользоваться методом slice для String переменной. slice с указанием позиции со знаком "-" будет рубить строку с конца
Javascript
1
2
3
4
5
var str = 'такая вот строка, а затем ХВОСТ'
var end = str.slice(-5);
var start = str.slice(0,-5);
console.log(end);
console.log(start);
2
Leomana
59 / 59 / 8
Регистрация: 29.06.2012
Сообщений: 188
30.04.2013, 17:50 6
Есть 3 способа получения строки из части другой строки:

Используя slice():
Javascript
1
2
var stringOne = "abcdefghijklmnopqrstuvwxyz";
var stringTwo = stringOne.slice(5, 10); // "fghij"
Используя substring():
Javascript
1
2
var stringOne = "abcdefghijklmnopqrstuvwxyz";
var stringTwo = stringOne.substring(5, 10); // "fghij"
Используя substr():
Javascript
1
2
var stringOne = "abcdefghijklmnopqrstuvwxyz";
var stringTwo = stringOne.substr(5, 10); // "fghijklmno"
На мой взгляд, для данной задачи подходит любой их этих методов. Особой разницы нет.

Взяла информацию отсюда http://alexdev.ru/?p=398
0
Galphimbl
22 / 22 / 13
Регистрация: 13.01.2013
Сообщений: 125
30.04.2013, 18:21 7
а почему бы не воспольщоватся match?
Javascript
1
str.match(/ХВОТС/i);
0
kalabuni
супермизантроп
Эксперт JS
3377 / 2680 / 638
Регистрация: 18.04.2012
Сообщений: 8,117
30.04.2013, 18:29 8
Galphimbl, потому что стоит триединая задача:
1) найти в строке ХВОСТ
2) обрезать ХВОСТ
3) сохранить этот ХВОСТ где-то в переменной

метод match выполняет 1-ю и 3-ю часть задачи, но не 2-ю
причём выполняет немного неверно: ХВОСТ по условию - он в конце, да и регистр его указан явно
потому str.match (/ХВОСТ$/);
0
Galphimbl
22 / 22 / 13
Регистрация: 13.01.2013
Сообщений: 125
30.04.2013, 18:32 9
Цитата Сообщение от kalabuni Посмотреть сообщение
2) обрезать ХВОСТ
ну так а эту задачу можно вылонить с помощью replace
0
kalabuni
супермизантроп
Эксперт JS
3377 / 2680 / 638
Регистрация: 18.04.2012
Сообщений: 8,117
30.04.2013, 22:17 10
походу, мы с вами оба неправы
топикстартер ничего не писал ни о конкретных символах "хвоста", ни об их регистре
речь шла только и исключительно о количестве символов этого самого "хвоста"

так что оптимальным решением, имхо, будет комбинация методов slice и replace: первый сохраняет "хвост", второй - обрезает его:
Javascript
1
2
3
4
5
6
var str = 'Г*ГҐГЄГ*Гї ñòðîêГ* ñèìâîëîâ';
var num = 5;                                               // èçâåñòГ*îå êîëè÷åñòâî ñèìâîëîâ Гў "õâîñòå"
 
var newStr = str.slice (0, -num);                          // обрезанная строка
var End    = str.replace (new RegExp ('^' + newStr), '');  // хвост
alert (newStr + '\n' + End);
0
30.04.2013, 22:17
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.04.2013, 22:17

чем можна порезать трек
подскажыте пожалусто чем можна порезать трек невладея особо никакими знаниями в областе работы со...

Резка из CorelDraw - чем порезать макет?
Всем привет! Есть макет в формате cdr. Есть CorelDraw X6. Нужно макет порезать на составные...

Как порезать картинку и вывести её по частям?
В общем, игра собери картинку. Вот участок кода, ответственный за присваивание изображений: void...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru