拆分日期! (实际上是一个字符串)

时间:2015-04-30 15:49:28

标签: javascript jquery arrays regex

我想拆分这种字符串:

"14:30 - 19:30" or "14:30-19:30"

在像["14:30", "19:30"]

这样的javascript数组中

所以我有我的变量

var stringa = "14:30 - 19:30";
var stringes = [];

我应该用正则表达式吗?我想我需要帮助

6 个答案:

答案 0 :(得分:2)

您可以使用private IList<MeterReadingDto> _meterReadings; private IList<PseudoReadingDto> _pseudoReading; public IList<MeterReadingDto> MeterReadings { get { return _meterReadings != null ? _meterReadings.OrderByDescending(x => x.ReadDate).ToList() : null; } set { _meterReadings = value; } } public IList<PseudoReadingDto> PseudoReadings { get { return _pseudoReading != null ? _pseudoReading.OrderByDescending(x => x.ReadDate).ToList() : null; } set { _pseudoReading = value; } }

str.split

答案 1 :(得分:2)

如果您知道唯一存在的'-'将是分隔符,您可以先分开:

let parts = input.split('-');

如果你需要摆脱周围的空白,你应该修剪每个部分:

parts = parts.map(function (it) { return it.trim(); });

要验证这些部分,您可以使用正则表达式:

parts = parts.filter(function (it) { return /^\d\d:\d\d$/.test(it); });

组合:

&#13;
&#13;
var input = "14:30 - 19:30";
var parts = input.split('-').map(function(it) {
  return it.trim();
}).filter(function(it) {
  return /^\d\d:\d\d$/.test(it);
});

document.getElementById('results').textContent = JSON.stringify(parts);
&#13;
<pre id="results"></pre>
&#13;
&#13;
&#13;

答案 2 :(得分:1)

试试这个:

var stringa = "14:30 - 19:30";
var stringes = stringa.split("-");   // string is "14:30-19:30" this style

or

var stringes = stringa.split(" - "); // if string is "14:30 - 19:30"; style so it includes the spaces also around '-' character. 

split函数根据你在其中输入的子字符串的位置打破子字符串中的字符串&#34; - &#34;

。第一个根据&#34; - &#34;的位置拆分它。第二个也包括空格&#34; - &#34;。

*它看起来更像24小时时间格式而不是您在问题中提到的数据。

答案 3 :(得分:1)

var stringa = '14:30 - 19:30';
var stringes = stringa.split("-");

答案 4 :(得分:0)

.split可能是最好的方法,但你会想先准备字符串。我会选择str.replace(/\s*-\s*/g, '-').split('-')。演示:

var str = "14:30 - 19:30"
var str2 = "14:30-19:30"
console.log(str.replace(/\s*-\s*/g, '-').split('-')) //outputs ["14:30", "19:30"]
console.log(str2 .replace(/\s*-\s*/g, '-').split('-')) //outputs ["14:30", "19:30"]

答案 5 :(得分:0)

不要忘记您可以将RegExp传递给str.split

'14:30 - 19:30'.split(/\s*-\s*/); // ["14:30", "19:30"]
'14:30-19:30'.split(/\s*-\s*/); // ["14:30", "19:30"]