Как обрезать строку?

356
11 февраля 2017, 09:39

Есть строка var a = "13:45 PM" хочу обрезать PM и оставить только 13:45 Попробовал так var b=str.substring(5,7) не работает ...

Answer 1

Например, вот так:

console.log("13:45 PM".split(' ')[0]); // Разделить по пробелу, взять первую часть 
console.log("13:45 PM".match(/\d?\d:\d\d/)[0]); // совпадение по регулярному выражению 
console.log("13:45 PM".substr(0, 5)); // 5 символов, начиная с 0го 
console.log("13:45 PM".substring(0, 5)); // копировать по индексам [0:5) 
console.log("13:45 PM".replace(/\s.*/, '')); // заменить пробел и всё, что дальше пустой строкой 
console.log("13:45 PM".slice(0, -3)); // срез без последних трёх символов

Answer 2

Вы не правильно используете String.prototype.substring. Этот метод копирует строку между указанными индексами, а не вырезает ее (как вы наверное думали).

Вот как правильно использовать этот метод:

var a = '13:45 PM';
var b = a.substring(0, 6);
console.log(b);
Answer 3

var a = "13:45 PM"; 
 
var str = a.slice(0,5); 
 
console.log(str);

Answer 4
.slice(0,-3)

document.querySelector('button').onclick = function() { 
  document.querySelector('output').innerHTML = document.querySelector('time').innerHTML.slice(0,-3); 
}
<time>10:15 AM</time> 
<button>slice me!</button> 
<br> 
<output></output>

READ ALSO
JavaScript Двойное отрицание(!!) и побитовый оператор Тильда (~)

JavaScript Двойное отрицание(!!) и побитовый оператор Тильда (~)

Изучаю JavaScriptЗадачка из учебника: Напишите функцию checkSpam(str), которая возвращает true, если строка str содержит „html“ или „css“, а иначе false

596
Оптимизация Canvas

Оптимизация Canvas

Здравствуйте, начал изучать canvas ,но столкнулся с проблемой оптимизацииИскал инфу но так и не понял что именно нужно делать

367
JS. выдает предупреждение closure-compiler на document.onmousemove = null;

JS. выдает предупреждение closure-compiler на document.onmousemove = null;

Здравствуйте, почему closure-compiler бросает предупреждения (warning) если я отменяю события с помощью documentonmousemove = null; Значит я что-то делаю не по этикету?

286