IT박스

분할 문자열 배열의 마지막 요소 얻기

itboxs 2020. 6. 4. 20:08
반응형

분할 문자열 배열의 마지막 요소 얻기


여러 구분 기호가있는 분할 배열의 마지막 요소를 가져와야합니다. 구분 기호는 쉼표와 공백입니다. 구분 기호가 없으면 원래 문자열을 반환해야합니다.

현이 "오늘 어떻게 지내십니까?" "오늘?"

입력이 "hello"인 경우 출력은 "hello"여야합니다.

JavaScript로 어떻게 할 수 있습니까?


var str = "hello,how,are,you,today?";
var pieces = str.split(/[\s,]+/);

이 시점에서 pieces배열은 배열이며 pieces.length배열의 마지막 요소를 얻기 위해 배열의 크기를 포함합니다 pieces[pieces.length-1]. 쉼표 나 공백이 없으면 주어진 문자열을 단순히 출력합니다.

alert(pieces[pieces.length-1]); // alerts "today?"

모든 것을위한 하나의 라이너가 있습니다. :)

var output = input.split(/[, ]+/).pop();

var item = "one,two";
var lastItem = item.split(",").pop(-1);

작동하지 않습니까?


배열을 뒤집고 첫 번째 요소를 취하는 것도 고려할 수 있습니다. 이렇게하면 길이를 알 필요는 없지만 큰 배열에서 리버스 작업이 오래 걸릴 수 있다는 실제 이점과 단점은 없습니다.

array1.split(",").reverse()[0]

쉽지만 문제의 원래 배열을 수정합니다. 문제가 될 수도 있고 아닐 수도 있습니다.

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

아마도 당신은 이것을 사용하고 싶을 것입니다 :

array1.split(",").pop()

array.split(' ').slice(-1)[0]

최고의 사람과 내가 좋아하는 것.


그리고 배열을 구성하지 않으려면 ...

var str = "how,are you doing, today?";
var res = str.replace(/(.*)([, ])([^, ]*$)/,"$3");

영어로 된 분류는 다음과 같습니다.

/(anything)(any separator once)(anything that isn't a separator 0 or more times)/

바꾸기는 전체 문자열을 마지막 구분 기호 뒤에있는 항목으로 바꿉니다.

이것이 일반적으로 어떻게 적용되는지 볼 수 있습니다. 원래 문자열은 수정되지 않습니다.


var title = 'fdfdsg dsgdfh dgdh dsgdh tyu hjuk yjuk uyk hjg fhjg hjj tytutdfsf sdgsdg dsfsdgvf dfgfdhdn dfgilkj,n, jhk jsu wheiu sjldsf dfdsf hfdkdjf dfhdfkd hsfd ,dsfk dfjdf ,yier djsgyi kds';
var shortText = $.trim(title).substring(1000, 150).split(" ").slice(0, -1).join(" ") + "...More >>";

배열 인덱스에 직접 액세스 할 수 있습니다.

var csv = 'zero,one,two,three'; csv.split(',')[0]; //result: zero csv.split(',')[3]; //result: three

참고 URL : https://stackoverflow.com/questions/651563/getting-the-last-element-of-a-split-string-array

반응형