Вопрос или проблема
Мне нужно разбить строку, которая всегда выглядит так:
что-то — что-то_другое.
Мне нужно поместить “что-то_другое” в другое поле ввода. В настоящее время этот пример строки добавляется в строку таблицы HTML динамически следующим образом:
tRow.append($('<td>').text($('[id$=txtEntry2]').val()));
Я предполагаю, что “split” – это правильный путь, но документации, которую я могу найти, очень мало.
Документацию можно найти, например, на MDN. Обратите внимание, что .split()
не является методом jQuery, а является родным методом строки.
Если вы используете .split()
для строки, то получаете массив с подстроками:
var str="что-то -- что-то_другое";
var substr = str.split(' -- ');
// substr[0] содержит "что-то"
// substr[1] содержит "что-то_другое"
Если это значение находится в каком-то поле, вы также можете сделать:
tRow.append($('<td>').text($('[id$=txtEntry2]').val().split(' -- ')[0])));
Если это базовая функция разделения JavaScript, смотрите документацию, Метод split() JavaScript.
По сути, вы просто делаете это:
var array = myString.split(' -- ')
Тогда ваши два значения будут храниться в массиве – вы можете получить значения так:
var firstValue = array[0];
var secondValue = array[1];
Смотрите метод JavaScript split()
Использование:
"что-то -- что-то_другое".split(" -- ")
Согласно MDN, метод
split()
делит строку на
упорядоченный набор подстрок, помещает эти подстроки в массив и
возвращает массив.
🔸 Пример
var str="Привет мой друг"
var split1 = str.split(' ') // ["Привет", "мой", "друг"]
var split2 = str.split('') // ["П", "р", "и", "в", "е", "т", " ", "м", "о", "й", " ", "д", "р", "у", "г"]
🔹 В вашем случае
var str="что-то -- что-то_другое"
var splitArr = str.split(' -- ') // ["что-то", "что-то_другое"]
console.log(splitArr[0]) // что-то
console.log(splitArr[1]) // что-то_другое
Ответ или решение
Для того чтобы разбить строку на составляющие, вы можете использовать метод split()
, который является встроенным методом JavaScript для работы со строками. Метод split()
позволяет вам разделить строку на массив подстрок на основе указанного разделителя. В вашем случае строка имеет формат something -- something_else
, и вам необходимо извлечь часть после символов --
.
Пример использования split()
Сначала представим, что у вас есть строка вида something -- something_else
:
var str = "something -- something_else";
Чтобы разбить эту строку на две части, вам нужно вызвать метод split()
с указанием разделителя, то есть --
:
var splitArr = str.split(' -- '); // ["something", "something_else"]
После выполнения вышеуказанного кода splitArr[0]
будет содержать значение "something"
, а splitArr[1]
будет содержать значение "something_else"
.
Ваша ситуация
В вашем случае, когда вы хотите добавить данные в таблицу и получить something_else
в отдельное поле, вы можете сделать следующее:
-
Получите значения из поля ввода, которое у вас уже имеется. Например, предположим, что ваше поле ввода имеет идентификатор
txtEntry2
. -
Разделите строку на массив подстрок с помощью
split()
, как описано выше. - Добавьте необходимые данные в таблицу, используя jQuery.
Пример кода:
// Получаем значение из поля ввода
var inputValue = $('[id$=txtEntry2]').val();
// Разбиваем строку на части
var parts = inputValue.split(' -- ');
// Добавляем первую часть в таблицу
tRow.append($('<td>').text(parts[0]));
// Если нужно, можно сохранить вторую часть (something_else) для дальнейшего использования
var somethingElse = parts[1];
// Если вы хотите добавить something_else в другую ячейку
tRow.append($('<td>').text(somethingElse));
Заключение
Использование метода split()
идеально подходит для ваших нужд. Он позволит вам удобно разбивать строку на подстроки и извлекать необходимые значения. Если вам нужна дополнительная информация, вы можете ознакомиться с документацией по методу split()
на MDN или W3Schools.