2016-09-06 2 views
0

Так что у меня есть следующие строки ...Получение последнего бита строки до пробела

"AUDI A4, S4, RS4 4DR SEDAN, WAGON 95-01" 
"AUDI 80, 90 4DR SEDAN 86-" 
"AUDI A6, 100 QUATTRO 4DR SEDAN, WAGON 92-" 
"AUDI A4, S4 (B6,B7) QUATTRO 4DR SEDAN, WAGON 01-08" 

Я в принципе хочу, чтобы получить последние цифры из строки в JavaScript, как ...

Было бы еще лучше, если бы я мог разбить строку на массив или строки.

"95-01" 
"86-" 
"92-" 
"01-08" 

Кто-нибудь знает, как это возможно? Я знаю, как сделать это с самого начала, как ...

str.substr(0,str.indexOf(' ')); 
str.substr(str.indexOf(' ')+1); 

Однако я не уверен, как получить конец :(

ответ

6

Вы можете разбить символ пробела и получить последний элемент в виде нужной цифры.

var arr = str.split(' '); 
var digits = arr[arr.length-1]; 
+0

Care разработать downvote? Это, вместе с ответом Вакара Уль Азиза, должно работать нормально. – smoksnes

+2

Недостаточно jQuery? (Серьезно, хотя люди, которые работают с ответами, никогда не объясняют.) – nnnnnn

+0

Спасибо, хорошо! – Adam91Holt

0

Просто использовать split функцию:

str.split(' '); 

Это приведет к возврату массива. Последним элементом массива будут цифры.

0

Как насчет

str.replace(/^.* /, '') 

Заменить все через пробел (который будет последним пространство, так как по умолчанию регулярные выражения «жадный») ни с чем.

-1

Вы можете использовать split. Пример в фрагменте ниже.

var str = "AUDI A4, S4, RS4 4DR SEDAN, WAGON 95-01" 
 
var myArray = str.split(' '); 
 
var lastEntry = myArray[myArray.length - 1]; 
 
console.log(lastEntry);

+0

Почему downvote? Что-то не так с предоставленным кодом? – smoksnes

0

@ Adam91Holt вы можете сделать это с помощью разделения и функции сращивания(), как:

<html> 

    <head> 
    <script src="https://code.jquery.com/jquery-3.1.0.js" integrity="sha256-slogkvB1K3VOkzAI8QITxV3VzpOnkeNVsKvtkYLMjfk=" crossorigin="anonymous"></script> 
    <script type="text/javascript"> 
     $(document).ready(function() { 
      var data = "AUDI A4, S4, RS4 4DR SEDAN, WAGON 95-01"; 
      console.log(data.split(" ").splice(-1)); 
     }); 

    </script> 

    </head> 

    <body> 



    </body> 

</html> 

Этим способом вы можете решить вашу проблему. это выше работает, попробуйте это (y)

0

Вы можете использовать функцию substr в строке, чтобы получить последние цифры, т. е. часть строки.

var str = "AUDI A4, S4 (B6,B7) QUATTRO 4DR SEDAN, WAGON 01-08"; 
 
var index = str.lastIndexOf(' ') + 1; 
 
var value = str.substring(index); 
 

 
console.log(value);

Предположим, у вас есть строки в виде массива строк, из которого вы хотите получить цифры часть, то вы можете сделать следующее, чтобы подготовить цифры массив строк.

Использование JavaScript

var arr = [ "AUDI A4, S4, RS4 4DR SEDAN, WAGON 95-01", 
 
"AUDI 80, 90 4DR SEDAN 86-", 
 
"AUDI A6, 100 QUATTRO 4DR SEDAN, WAGON 92-", 
 
"AUDI A4, S4 (B6,B7) QUATTRO 4DR SEDAN, WAGON 01-08" ]; 
 

 
var numbers = []; 
 
for (var i = 0; i < arr.length; i++) { 
 
    var value = arr[i]; 
 
    var index = value.lastIndexOf(' ') + 1; 
 
    numbers.push(value.substring(index)); 
 
} 
 

 
console.log(numbers);

Использование JQuery

var arr = [ "AUDI A4, S4, RS4 4DR SEDAN, WAGON 95-01", 
 
"AUDI 80, 90 4DR SEDAN 86-", 
 
"AUDI A6, 100 QUATTRO 4DR SEDAN, WAGON 92-", 
 
"AUDI A4, S4 (B6,B7) QUATTRO 4DR SEDAN, WAGON 01-08" ]; 
 

 
var numbers = []; 
 
$.map(arr, function(value, index) { 
 
    var index = value.lastIndexOf(' ') + 1; 
 
    numbers.push(value.substring(index)); 
 
}); 
 

 
console.log(numbers);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.2.3/jquery.min.js"></script>