Как подстрока в jquery

115

Как я могу использовать jquery на стороне клиента для подстроки «nameGorge» и удалить «name», чтобы он выводил только «Gorge»?

var name = "nameGorge"; //output Gorge
теснина
источник
15
jQuery - это библиотека, написанная на JavaScript. Он используется поверх JavaScript. То, что вы просите, можно сделать на JavaScript без необходимости использования библиотеки jQuery.
Джефф
1
jQuery IS JavaScript (точнее, библиотека JavaScript, но все же JavaScript). Как уже было сказано, я не думаю, что использование jQuery для получения подстроки можно было бы когда-либо написать проще, чем в обычном JavaScript.
VoidKing

Ответы:

235

Никакого jQuery не требуется! Просто используйте метод подстроки:

var gorge = name.substring(4);

Или, если текст, который вы хотите удалить, не статичен:

var name = 'nameGorge';
var toRemove = 'name';
var gorge = name.replace(toRemove,'');
Джастин Нисснер
источник
5
Извини, не ожидал, что это так сильно взорвется, когда я засну. Я здесь немного прибрался. В то же время, кто - то должен читать это
BoltClock
Привет, BoltClock: Как дела? Я пытался доказать здесь свою точку зрения, большое спасибо .. так что это означает, что если я пытаюсь обновить код для клиента, и я прихожу сюда в поисках ответа, то ответ, отмеченный операцией, удовлетворит его. . тогда я не могу просто опубликовать тот же вопрос или привести пример моей проблемы ... очень интересно ... так что мой вопрос был вроде как эти ребята настолько уверены, что если я запускаю функцию jQuery и внутри я использую .split, я ссылаясь на собственный способ JS или какой-то туннель или прокси, чтобы запустить его через jQuery. Также, если вы прочитали вопрос.
Жан Поль AKA el_vete
Я хочу сказать, что я работаю в пространстве имен jQuery, мне действительно все равно, если дело в том, что вызывается напрямую string.split из JS, но вместо этого из сообщества я понял, что если я опубликую этот точный вопрос, он будет помечен как суженный, поскольку этот ответ более приемлем, чем тот факт, что где-то для меня есть ссылка на документацию jQuery.split, по крайней мере, говорит мне, что это должно быть, потому что оно там, не вызывая конфликта с моим кодом и всем jQuery плагины, которые вы могли видеть на удаленных фотографиях ... так что еще раз спасибо
Жан Поль AKA el_vete
5
@JeanPaul - jQuery не имеет split (). Мы это уже прошли. Обе статьи, которые вы связали с ранее использовавшимися text () для получения стандартной строки JavaScript, а затем вызывали string.split (). Вы просто ошибаетесь в этом случае. Брось это.
Джастин Нисснер
52

Использование .split(). (Вторая версия использует .slice()и .join()в массиве.)

var result = name.split('name')[1];
var result = name.split('name').slice( 1 ).join(''); // May be a little safer

Использование .replace().

var result = name.replace('name','');

Использование .slice()в строке.

var result = name.slice( 4 );
user113716
источник
jquery не поддерживает замену. This is Vanilla js
Джуд
18

Стандартный javascript сделает это, используя следующий синтаксис:

строка. подстрока (от, до)

var name = "nameGorge";
var output = name.substring(4);

Подробнее читайте здесь: http://www.w3schools.com/jsref/jsref_substring.asp

нарисовался
источник
9

Это просто JavaScript: см substringи substr.

Касабланка
источник
1
Или действительно slice(). В Strange JS должно быть так много способов сказать одно и то же, но все тонко разные. slice()- мой предпочтительный метод, так как он ведет себя согласованно с slice()массивами и допускает отрицательные начальный и конечный индексы для индекса от конца.
bobince
@bobince: Верно, и я никогда не помню, какой из substringи substrпринимает параметр длины, а какой - конечный индекс - мне всегда нужно искать документы, чтобы узнать.
casablanca
4

Для этого вам не нужен jquery.

var placeHolder="name";
var res=name.substr(name.indexOf(placeHolder) + placeHolder.length);
Маурицио Куккьяра
источник
Мне нужно сделать это на стороне клиента, и у меня уже есть jquery. Что ты предлагаешь тогда? Извините за простой вопрос, но я новичок в js и jquery.
Gorge
Этот оператор вернет nameGorge, потому что indexOf ("name") вернет 0.
Джастин Нисснер
0

Да, вы можете, хотя он полагается на внутреннюю функциональность Javascript, а не на библиотеку jQuery.

http://www.w3schools.com/jsref/jsref_substr.aspsubstr функция позволит извлечь определенные части строки.

Теперь, если вы ищете конкретную строку или символ, чтобы определить, какую часть строки нужно извлечь, вы также можете использовать функцию indexOf. http://www.w3schools.com/jsref/jsref_IndexOf.asp

Однако вопрос несколько расплывчатый; даже просто текст ссылки с «именем» достигнет желаемого результата. Какие именно критерии для получения вашей подстроки?

aaronofleonard
источник
1
Почему вы связались с strposфункцией PHP в вопросе по JavaScript?
casablanca
Вы правы, для меня сегодня слишком много PHP. Я редактировал с помощью соответствующего эквивалента JS. Спасибо, что поймали это.
aaronofleonard
-1

Как насчет следующего?

<script charset='utf-8' type='text/javascript'>
  jQuery(function($) { var a=$; a.noConflict();
    //assumming that you are using an input text 
    //  element with the text "nameGorge"
    var itext_target = a("input[type='text']:contains('nameGorge')");
    //gives the second part of the split which is 'Gorge'
    itext_target.html().split("nameGorge")[1];
    ...
  });
</script>
Жан Поль AKA el_vete
источник