var re = /(\w+)=(\w+)/ , str = "A=11111"; var newstr = str.replace(re, "$2"); alert(newstr);
Или чуть короче:
var str = "A=11111"; var newstr = str.replace(/(\w+)=/, ""); alert(newstr);
19.04.2013, 16:32
Регистрация: 17.01.2013
Сообщений: 887
да, вариантов какбы много
19.04.2013, 18:36
Регистрация: 28.02.2011
Сообщений: 337
var re = /(\w+)=(\w+)/ , str = "A=11111"; var newstr = str.replace(re, "$2"); alert(newstr);
var str = "A=11111"; var newstr = str.replace(/(\w+)=/, ""); alert(newstr);
Не нужны ненужные скобки, поэтому
var re = /\w+=(\w+)/ , str = "A=11111"; var newstr = str.replace(re, "$1"); alert(newstr);
Или чуть короче:
var str = "A=11111"; var newstr = str.replace(/\w+=/, ""); alert(newstr);
Воспользовавшись тем, что в условии нигде не сказано, что слева и справа от знака равенства могут быть только символы \w (напр, при разборе инишника там может быть почти все, что угодно, в т.ч. пробелы), предложу вариант без регэкспов:
var str = "A=11111"; var newstr = str.slice(str.indexOf(" smallfont"> Последний раз редактировалось rgl, 19.04.2013 в 18:39.
#6 (permalink)
19.04.2013, 18:39
Aetae
Тлен
Регистрация: 02.01.2010
Сообщений: 6,458
Последний в конкретном случае самый правильный.)
__________________
29375, 35
#7 (permalink)
20.04.2013, 02:00
Magneto
Люмус, Емаксос Developer!
Регистрация: 06.05.2010
Сообщений: 677
alert( 'A=11111'.split('=')[1] );
__________________ Актуальные ссылки на материалы по JavaScript
23.07.2013, 09:42
Новичок на форуме
Регистрация: 23.07.2013
Сообщений: 2 Как удалить подстроку в строке
news1Мы по-прежнему поддерживаем контакт» по этому вопросу с российскими властями, отметила представитель внешнеполитического ведомства США. «Это, безусловно, приоритетный вопрос, и мы продолжаем находиться в контакте на надлежащем уровне», — сказала Псаки.
news2Ее попросили прокомментировать предположение, что Сноуден, ранее подавший просьбу о предоставлении ему временного убежища в России, может уже в среду покинуть транзитную зону московского аэропорта Шереметьево, в которой он находится с 23 июня. «У меня нет независимого подтверждения насчет того, какие действия по этому делу может предпринять или не предпринять правительство России», — ответила Псаки.
news3По ее словам, американская администрация «продолжает призывать правительство России поступить правильным образом и вернуть Сноудена в Соединенные Штаты». «Насколько я понимаю, опираясь на последнюю имеющуюся информацию, он продолжает находиться в транзитной зоне аэропорта», — добавила Псаки.
Мне нужно удалить подстроку news1 в каждом блоке. Подскажите пожалуйста как это сделать?
var textZam = $('#text').html(); var regV = /\news\d\/g; var result = textZam.replace(regV, ''); $('#text').text(result);
но это не то что нужно.
Удаление подстроки в строке
Как я понял, это из-за того, что первое вхождение цифры 3, как раз таки в числе 13, поэтому функция заменила это число. Подскажите пожалуйста, какой функцией можно получить ожидаемый результат, а именно:
Отслеживать
51.4k 86 86 золотых знаков 267 267 серебряных знаков 505 505 бронзовых знаков
задан 6 окт 2015 в 10:31
535 1 1 золотой знак 4 4 серебряных знака 23 23 бронзовых знака
Какой результат ожидается для строки "13 10 7 33 7 3"?
6 окт 2015 в 11:07
Этот - "13 10 7 33 7"
6 окт 2015 в 12:18
2 ответа 2
Сортировка: Сброс на вариант по умолчанию
"13 10 7 3".replace(/\b3\b/g, "") === "13 10 7 "
Отслеживать
ответ дан 6 окт 2015 в 10:53
123k 24 24 золотых знака 126 126 серебряных знаков 303 303 бронзовых знака
Видимо вам надо разбить строку по пробелам, после чего собрать строку заново на нужных вам условиях. В приведенном примере не включая те токены которые равны числу, которое вы хотите исключить. Т.е. должно получиться что-то типа такого:
var splitedStr = str.split(' '); var resultStr = ''; for (var i = 0; i < splitedStr.length; i++) < if (splitedStr[i] != id) < resultStr += splitedStr[i] + ' '; >> var new_str = resultStr.substring(0, resultStr.length - 1); // удаляем последний пробел
Строки
Для создания строк мы можем как напрямую присваивать переменной или константе строку:
const message = "Hello";
Для работы со строками предназначен объект String , поэтому также можно использовать конструктор String:
const message = new String("Hello");
Но как правило, используется первый более краткий способ. В первом случае JavaScript при необходимости автоматически преобразует переменную примитивного типа в объект String.
С помощью индексов можно обращаться к отдельным символам строки, как к элементам массива (как и в массивах индексация начинается с нуля):
const message = "Hello"; console.log(message[0]); // H console.log(message[4]); // o
Объект String имеет большой набор свойств и методов, с помощью которых мы можем манипулировать строками.
Длина строки
Свойство length указывает на длину строки:
const message = "Hello"; console.log(message.length); // 5 символов
Повторение строки
Метод repeat() позволяет создать строку путем многократного повторения другой строки. Количество повторов передается в качестве аргумента:
Для поиска в строке некоторой подстроки используются методы indexOf() (индекс первого вхождения подстроки) и lastIndexOf() (индекс последнего вхождения подстроки). Эти методы принимают два параметра:
indexOf(str, index) lastIndexOf(str, index)
Подстроку, которую надо найти
Индекс, с которого идет поиск (Необязательный параметр)
Оба этих метода возвращают индекс символа, с которого в строке начинается подстрока. Если подстрока не найдена, то возвращается число -1.
Применим поиск относительно индекса, например, начиная с индекса 10:
const hello = "привет мир. пока мир"; const key = "мир"; const firstPos = hello.indexOf(key, 10); // поиск с 10-го индекса console.log("Первое вхождение: ", firstPos); // 17
Следует учитывать, что поиск регистрозависимый:
const hello = "привет мир. пока мир"; const key = "Мир"; const firstPos = hello.indexOf(key); console.log(firstPos); // -1
includes
Еще один метод - includes() возвращает true, если строка содержит определенную подстроку.
const hello = "привет мир. пока мир"; console.log(hello.includes("мир")); // true console.log(hello.includes("миг")); // false
С помощью второго дополнительного параметра можно определить индекс, с которого будет начинаться поиск подстроки:
const hello = "привет мир. пока мир"; console.log(hello.includes("мир", 5)); // true console.log(hello.includes("привет", 6)); // false
Выбор подстроки
Для того, чтобы вырезать из строки подстроку, применяются методы substring() и slice() .
Substring
Метод substring() принимает два параметра:
substring(startIndex, endIndex)
индекс символа в строке, начиная с которого надо проводить обрезку строки. Обязательный параметр
индекс, до которого надо обрезать строку. Необязательный параметра - если он не указан, то обрезается вся остальная часть строки
const hello = "привет мир. пока мир"; const world = hello.substring(7, 10); // с 7-го по 10-й индекс console.log(world); // мир const bye = hello.substring(12); // c 12 индекса до конца строки console.log(bye); // пока мир
slice
Метод slice также позволяет получить из строки какую-то ее часть. Она принимает два параметра:
slice(startIndex, endIndex)
Начальный индекс подстроки в строке. Обязательный параметр
Конечный индекс подстроки в строке. Необязательный параметра - если он не указан, то обрезается вся остальная часть строки
const hello = "привет мир. пока мир"; const world = hello.slice(7, 10); // с 7-го по 10-й индекс console.log(world); // мир const bye = hello.slice(12); // c 12 индекса до конца строки console.log(bye); // пока мир
Можно заметить, что этот метод похож на метод substring() , тем не менее между ними есть небольшие различие. Прежде всего, в slice() начальный индекс должен быть меньше чем конечный. В substring() , если начальный индекс больше конечного, то они меняются местами (то есть substring(5, 1) будет равноценно substring(1, 5) ):
const hello = "привет мир. пока мир"; const world1 = hello.slice(6, 0); // не работает console.log(world1); // пустая строка const world2 = hello.substring(6, 0); // аналогично hello.substring(0, 6) console.log(world2); // привет
Другое отличие, что slice позволяет использовать отрицательные индексы. Отрицательный индекс указывает на индекс символа относительно конца строки. substring() же отрицательные индексы не поддерживает:
const hello = "привет мир. пока мир"; const bye1 = hello.slice(-8, -4); // с 8-го индекса с конца до 4 индекса с конца console.log(bye1); // пока const bye2 = hello.substring(-8, -4); // не работает console.log(bye2); //
substr
Следует отметить, что еще есть метод substr() . Этот метод не является частью стандарта и в целом не рекомендуется к использованию, однако он все еще может поддерживаться браузерами, и его до сих пор можно встретить в различных программах. Он принимает два параметра:
substr(startIndex, count)
Начальный индекс подстроки в строке. Обязательный параметр
Количество выбираемых символов. Необязательный параметра - если он не указан, то выбирается вся остальная часть строки
const hello = "привет мир. пока мир"; const world = hello.substr(7, 3); // с 7-го индекса 3 символа console.log(world); // мир const bye = hello.substr(12); // с 12-го индекса до конца console.log(bye); // пока мир
Управление регистром символов
Для изменения регистра символов имеются методы toLowerCase() (для перевода в нижний регистр) и toUpperCase() (для перевода в верхний регистр).
const hello = "Привет Том"; console.log(hello.toLowerCase()); // привет том console.log(hello.toUpperCase()); // ПРИВЕТ ТОМ
Получение символа по индексу
Чтобы получить определенный символ в строке по индексу, можно применять синтаксис массивов. Но также JavaScript предоставляет методы charAt() и charCodeAt() . Оба этих метода в качестве параметра принимают индекс символа:
Дополнительно есть ряд методов, которые удаляют пробелы с определенной стороны строки:
trimStart() : удаляет пробел с начала строки (в зависимости от того, является ли письмо правостронним или левостронним, это может быть правый или левый край строки)
trimEnd() : удаляет пробел с конца строки (в зависимости от того, является ли письмо правостронним или левостронним, это может быть правый или левый край строки)
trimLeft() : удаляет пробел с левой части строки
trimRight() : удаляет пробел с правой части строки
Объединение строк
Метод concat() объединяет две строки:
let hello = "Привет "; const world = "мир"; hello = hello.concat(world); console.log(hello); // Привет мир
Замена подстроки
Метод replace() заменяет первое вхождение одной подстроки на другую:
Первый параметр метода указывает, какую подстроку надо заменить, а второй параметр - на какую подстроку надо заменить.
В то же время у этого метода есть одна особенность - он заменяет только первое вхождение подстроки:
let menu = "Завтрак: каша, чай. Обед: суп, чай. Ужин: салат, чай."; menu = menu.replace("чай", "кофе"); console.log(menu); // Завтрак: каша, кофе. Обед: суп, чай. Ужин: салат, чай.
Однако еще один метод - replaceAll() позволяет заменить все вхождения подстроки:
let menu = "Завтрак: каша, чай. Обед: суп, чай. Ужин: салат, чай."; menu = menu.replaceAll("чай", "кофе"); console.log(menu); // Завтрак: каша, кофе. Обед: суп, кофе. Ужин: салат, кофе.
Разделение строки
Метод split() разбивает строку на массив подстрок по определенному разделителю. В качестве разделителя используется строка, которая передается в метод:
В данном случае строка разделяется по проблему, то есть в итоге в массиве messageParts окажется четыре элемента.
Проверка начала и окончания строки
Метод startsWith() возвращает true, если строка начинается с определенной подстроки. А метод endsWith() возвращает true, если строка оканчивается на определенную подстроку.
const hello = "let me speak from my heart"; console.log(hello.startsWith("let")); // true console.log(hello.startsWith("Let")); // false console.log(hello.startsWith("lets")); // false console.log(hello.endsWith("heart")); // true console.log(hello.startsWith("bart")); // false
При этом играет роль регистр символов, и из примера выше мы видим, что "let" не эквивалентно "Let".
Дополнительный второй параметр позволяет указать индекс (для startsWith - индекс с начала, а для endsWith - индекс с конца строки), относительно которого будет производиться сравнение:
const hello = "let me speak from my heart"; console.log(hello.startsWith("me", 4)); // true, "me" - 4 индекс с начала строки console.log(hello.startsWith("my", hello.length-8)); // true, "my" - 8 индекс с конца
Заполнение строки
Методы padStart() и padEnd() растянуть строку на определенное количество символов и заполнить строку слева и справа соответственно.
Вызов "hello".padStart(8) будет рястягивать строку "hello" на 8 символов. То есть изначально в строке "hello" 5 символов, значит, к ней будет добавлено 3 символа. При чем они будут добавлено в начале строки. По умолчанию добавляемые символы представляют пробелы. Аналогично вызов "hello".padEnd(8) растянет строку на 8 символов, но оставшие символы в виде пробелов будут добавлены в конец строки.
По умолчанию эти методы используют пробелы для заполнения, но в качестве второго параметра мы можем передать методам значение, которым надо дополнить строку:
Для удаления подстроки из строки можно воспользоваться методом replace() , передав в него первым аргументом подстроку, а вторым - пустую строку '' .
const string='Это строка, из которой нужно удалить подстроку.';constsubString=', из которой нужно удалить подстроку';console.log(string.replace(subString,''));// => Это строка.