Я пытаюсь извлечь все до запятой. Как это сделать в JavaScript или jQuery? Я пробовал это и не работал.
1345 albany street, Bellevue WA 42344
Я просто хочу захватить уличный адрес.
var streetaddress= substr(addy, 0, index(addy, '.'));
Я пытаюсь извлечь все до запятой. Как это сделать в JavaScript или jQuery? Я пробовал это и не работал.
1345 albany street, Bellevue WA 42344
Я просто хочу захватить уличный адрес.
var streetaddress= substr(addy, 0, index(addy, '.'));
var streetaddress= addy.substr(0, addy.indexOf(','));
Хотя это не лучшее место для окончательной информации о том, что делает каждый метод (сеть разработчиков mozilla, для этого лучше) w3schools.com хорош для ознакомления с синтаксисом.
var streetaddress = addy.split(',')[0];
попробуйте следующее:
streetaddress.substring(0, streetaddress.indexOf(','));
//split string into an array and grab the first item
var streetaddress = addy.split(',')[0];
Кроме того, я бы рекомендовал называть ваши переменные с помощью верблюжьего футляра (streetAddress) для лучшей читаемости.
Если вам это нравится, просто используйте RegExp:
var streetAddress = /[^,]*/.exec(addy)[0];
почти то же самое, что и David G, но без анонимной функции, если вам не хочется включать его.
s = s.substr(0, s.indexOf(',') === -1 ? s.length : s.indexOf(','));
в этом случае мы используем тот факт, что второй аргумент substr
является длиной, и мы знаем, что наша подстрока начинается с нуля.
верхний ответ не является общим решением из-за нежелательного поведения, если строка не содержит характер, который вы ищете.
если вы хотите правильного поведения в общем случае, используйте этот метод или метод David G, а не лучший ответ
регулярные выражения и методы разделения также будут работать, но могут быть несколько более медленными/чрезмерными для этой конкретной проблемы.
Вы также можете использовать shift()
.
var streetaddress = addy.split(',').shift();
Согласно MDN Web Docs:
Метод
shift()
удаляет первый элемент из массива и возвращает этот удаленный элемент. Этот метод изменяет длину массива.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/shift
var streetaddress = addy.substr(0, addy.indexOf('.'));
(Вы должны прочитать javascript tutorial, особенно часть Строковые функции)
var newString = string.substr(0,string.indexOf(','));
Если вы хотите вернуть исходную строку нетронутой, если она не содержит символ поиска, вы можете использовать анонимную функцию (закрытие):
var streetaddress=(function(s){var i=s.indexOf(',');
return i==-1 ? s : s.substr(0,i);})(addy);
Это можно сделать более общим:
var streetaddress=(function(s,c){var i=s.indexOf(c);
return i==-1 ? s : s.substr(0,i);})(addy,',');
Вы можете использовать Azle, чтобы получить подстроки до:
str = 'This is how we go to the place!'
az.get_everything_before(str, 'place')
Результат. Вот как мы идем к
str = 'This is how we go to the place!'
az.get_everything_after(str, 'go')
Результат: на место!
и в между:
str = 'This is how we go to the place!'
az.get_everything_between(str, 'how', 'place')
Результат: мы идем к