如何在指定字符jQuery或JavaScript之前获取子字符串

2020/10/10 00:41 · javascript ·  · 0评论

我正在尝试提取逗号之前的所有内容。如何在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];

另外,建议您使用camel-case(streetAddress)命名变量,以提高可读性。

如果您喜欢它,只需使用RegExp即可

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

与David G的答案几乎相同,但如果您不希望包含匿名功能,则没有匿名功能。

s = s.substr(0, s.indexOf(',') === -1 ? s.length : s.indexOf(','));

在这种情况下,我们利用以下事实:of的第二个参数substr是一个长度,并且我们知道我们的子字符串从0开始。

最好的答案不是通用的解决方案,因为如果字符串不包含您要查找的字符,则会出现不良的行为。

如果要在一般情况下采取正确的行为,请使用此方法或David G的方法,而不是最佳答案

正则表达式和拆分方法也可以使用,但是对于此特定问题可能会比较慢/过大。

您也可以使用shift()

var streetaddress = addy.split(',').shift();

根据MDN网络文档:

shift()方法从数组中删除第一个元素,然后返回该删除的元素。此方法更改数组的长度。

https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/shift

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

(您应该通读javascript教程,尤其是有关String函数的部分

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

您可以使用regex,因为如果符合要求,它将为您提供字符串。该代码将类似于:

const address = "1345 albany street, Bellevue WA 42344";
const regex = /[1-9][0-9]* [a-zA-Z]+ [a-zA-Z]+/;
const matchedResult = address.match(regex);

console.log(matchedResult[0]); // This will give you 1345 albany street.

因此,将代码分解。[1-9][0-9]*基本上意味着第一个数字不能为零,而必须为介于之间的数字,1-9而下一个数字可以为来的任何数字,0-9并且可以出现零次或多次,因为有时该数字只是一个数字,然后它与一个空格匹配。[a-zA-Z]基本上将所有大写字母与小写字母匹配,并且必须出现一次或多次,然后重复一次。

本文地址:http://javascript.askforanswer.com/ruhezaizhidingzifujqueryhuojavascriptzhiqianhuoquzizifuchuan.html
文章标签: ,   ,   ,  
版权声明:本文为原创文章,版权归 javascript 所有,欢迎分享本文,转载请保留出处!

文件下载

老薛主机终身7折优惠码boke112

上一篇:
下一篇:

评论已关闭!