지정된 문자 jQuery 또는 JavaScript 전에 하위 문자열을 얻는 방법 또는 jQuery에서 어떻게해야합니까? 나는 이것을 시도하고

쉼표 앞에 모든 것을 추출하려고합니다. JavaScript 또는 jQuery에서 어떻게해야합니까? 나는 이것을 시도하고 작동하지 않습니다 ..

1345 albany street, Bellevue WA 42344

나는 단지 주소를 잡고 싶다.

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


답변

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

각 방법이 무엇을하는지에 대한 확실한 정보를 얻을 수있는 최상의 장소는 아니지만 ( 모질라 개발자 네트워크 가 더 좋습니다) 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(','));

이 경우 두 번째 인수 substr가 길이이며 하위 문자열이 0에서 시작한다는 것을 알고 있습니다.

문자열에 원하는 문자가 포함되어 있지 않으면 바람직하지 않은 동작으로 인해 최상위 답변이 일반적인 해결책 이 아닙니다.

일반적인 경우에 올바른 동작을 원한다면이 방법 또는 David G의 방법을 사용하십시오.

정규식 및 분할 방법도 작동하지만이 특정 문제의 경우 다소 느려질 수 있습니다.


답변

을 사용할 수도 있습니다 shift().

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

MDN 웹 문서에 따르면 :

shift()메소드는 배열에서 첫 번째 요소를 제거하고 제거 된 요소를 리턴합니다. 이 방법은 배열의 길이를 변경합니다.

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/shift