我正试图提取','逗号前的所有内容。我如何在JavaScript或jQuery中做到这一点?我试过这个,不工作..如何在指定字符之前抓取子串jQuery或JavaScript
1345 albany street, Bellevue WA 42344
我只想抓住街道地址。
var streetaddress= substr(addy, 0, index(addy, '.'));
我正试图提取','逗号前的所有内容。我如何在JavaScript或jQuery中做到这一点?我试过这个,不工作..如何在指定字符之前抓取子串jQuery或JavaScript
1345 albany street, Bellevue WA 42344
我只想抓住街道地址。
var streetaddress= substr(addy, 0, index(addy, '.'));
var streetaddress= addy.substr(0, addy.indexOf(','));
虽然它不是最好的在明确的地方形成每种方法的作用(mozilla developer network更好)w3schools.com非常适合向您介绍语法。
不需要光顾。 – naomi 2014-05-20 13:33:13
如果搜索的字符串不包含搜索字符的实例,则这不起作用。它会返回一个空字符串。 – 2015-08-20 19:48:12
Per David G,请参阅https://jsfiddle.net/13pkp1xn/ – 2017-01-23 10:53:26
var streetaddress = addy.substr(0, addy.indexOf('.'));
(你应该通过javascript tutorial阅读,尤指约String functions部分)
var newString = string.substr(0,string.indexOf(','));
试试这个:
streetaddress.substring(0, streetaddress.indexOf(','));
为什么不爱我的答案?如果这个答案是正确的http://stackoverflow.com/questions/3745515/what-is-the-difference-between-substr-and-substring我的答案与接受的答案一样准确,并且适用于开始非零索引 – 2015-08-05 20:53:20
正如David G所指出的那样,可能是因为如果没有逗号,它就不起作用。OP可能暗示该字符串总是有逗号,但在很多情况下,分隔符不能保证。见https://jsfiddle.net/13pkp1xn/ – 2017-01-23 10:51:59
如果你想返回原始的字符串不变,如果它不包含搜索字符,那么你可以使用匿名函数(闭包):
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,',');
几乎与David G的答案一样,但没有匿名函数,如果你不想包括一个。
s = s.substr(0, s.indexOf(',') === -1 ? s.length : s.indexOf(','));
在这种情况下
我们利用这样一个事实:substr
第二个参数是一个长度,我们知道我们的子串从0开始。
最多的回答是不是一个通用的解决方案,因为如果该字符串不包含您正在查找的字符会导致不良行为。
如果你想在一个通用的情况下,正确的行为,使用此方法或大卫G公司的方法,而不是顶部答案
正则表达式和分离方法也可以工作,但可能会略慢/矫枉过正这一特定问题。
//split string into an array and grab the first item
var streetaddress = addy.split(',')[0];
此外,我建议命名您的变量与骆驼案(streetAddress)为更好的可读性。
这比使用indexof的方法更好,在没有逗号字符的情况下 – 2017-01-22 19:17:06
您可以保存一些处理并停止在第一个“ “通过在https://stackoverflow.com/a/22386366/601386:'addy.split(',',1)[0]'中使用@antak发布的评论发现。请参阅https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/split。 – flu 2017-10-12 08:16:42
'addy.split(',',1)[0]' – antak 2014-08-08 05:37:27
@antak:发布该答案,而不是评论。 – ArtOfWarfare 2015-03-28 14:52:57