Javascript选择2个字符之间的字符串

时间:2013-07-22 14:13:23

标签: javascript string

如果我有一个像1.10.6或1.6.5或1.33.10这样的字符串,我希望能够在第二次完整停止之前选择字符串。

所以1.10.6将是1.10,1.6.5将是1.6而1.33.10将是1.33

请使用javascript进行此操作的最佳方式是什么? 感谢。

5 个答案:

答案 0 :(得分:3)

通过数组

var str = '1.10.6'.split('.').slice(0, 2).join('.');

使用 RegExp

var str = '1.10.6'.match(/\d+\.\d+/)[0];

另外

var str = '1.10.6'.split(/(\d+\.\d+)/)[1];

使用两个 String indexOf s

var str = '1.10.6', i = str.indexOf('.');
str = str.slice(0, str.indexOf('.', i + 1));

使用字符串的 lastIndexOf,假设只有两个. s

var str = '1.10.6', i = str.lastIndexOf('.');
str = str.slice(0, i);

答案 1 :(得分:1)

var foo = '1.2.3';
var bar = foo.split('.')   // '1.2.3'       => ['1','2','3']
    .slice(0, 2)           // ['1','2','3'] => ['1','2']
    .join('.');            // ['1','2']     => 1.2

首先使用分割将其分解为部分,使用切片仅选择前两个部分(从第一个元素[元素0]开始并选择2),然后再次使用句点重新加入。

答案 2 :(得分:0)

if (/\.\d+\.\d+$/.test(s)){
 return s.replace(/\.\d+$/, '')
}

答案 3 :(得分:0)

以下是fiddle

例如:

var newString = string.substr(0,string.lastIndexOf('.'));

答案 4 :(得分:0)

试试这个:

var str = str.split('.')
str = str[0]+'.'+str[1];

JSFiddle:http://jsfiddle.net/FlameTrap/hTgaZ/