我正在尝试提取','逗号之前的所有内容。如何在JavaScript或jQuery中做到这一点?我试过了,但没有用。

1345 albany street, Bellevue WA 42344

我只想知道街道地址。

var streetaddress= substr(addy, 0, index(addy, '.')); 

当前回答

//split string into an array and grab the first item

var streetaddress = addy.split(',')[0];

此外,我建议使用驼峰格式(streetAddress)来命名变量,以提高可读性。

其他回答

如果你想要原封不动地返回不包含搜索字符的原始字符串,那么你可以使用匿名函数(闭包):

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,',');

你也可以使用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 newString = string.substr(0,string.indexOf(','));

如果你喜欢它简短,只需使用RegExp:

var streetAddress = /[^,]*/.exec(addy)[0];
const streetAddress = addy.substring(0, addy.indexOf(","));

虽然W3Schools.com不是提供每种方法的确切信息的最好地方(MDN Web Docs更适合这一点),但它很适合向你介绍语法。