如何在Javascript中解析字符串?

时间:2011-05-26 17:12:49

标签: javascript

我的字符串看起来像这样:

01
02
03
99

我想解析这些以使它们变成如下字符串:

 1. 2. 3. 99. etc. 

这些数字最多为2个字符。此外,我必须稍后在源字符串中解析更多数字,所以我想学习javascript中的子字符串等价物。有人可以给我建议如何做。以前我用C#做过以下事情:

int.Parse(RowKey.Substring(0, 2)).ToString() + "."

由于

6 个答案:

答案 0 :(得分:1)

使用parseInt功能。

parseInt(09)//这将给你9

var myString = parseInt("09").toString()+". "+parseInt("08").toString();

答案 1 :(得分:1)

为什么,parseInt当然。

// Add 2 until end of string
var originalA = "01020399";
for (var i = 0; i < originalA.length; i += 2)
{
  document.write(parseInt(originalA.substr(i, 2), 10) + ". ");
}

// Split on carriage returns
var originalB = "01\n02\n03\n99";
var strArrayB = originalB.split("\n");
for (var i = 0; i < strArrayB.length; i++)
{
  document.write(parseInt(strArrayB[i], 10) + ". ");
}

// Replace the leading zero with regular expressions
var originalC = "01\n02\n03\n99";
var strArrayC = originalC.split("\n");
var regExpC = /^0/;
for (var i = 0; i < strArrayC.length; i++)
{
  document.write(strArrayC[i].replace(regExpC, "") + ". ");
}

其他注意事项是JavaScript的输入类型较弱,因此"a" + 1会返回"a1"。此外,对于子字符串,您可以在substring(start, end)substr(start, length)之间进行选择。如果您只是想拉一个字符,"abcdefg"[2]将返回"c"(从零开始的索引,因此2表示第三个字符)。当谈到简单的数字或字母时,你通常不必担心类型转换。

http://jsfiddle.net/mbwt4/3/

答案 2 :(得分:0)

var number = parseFloat('0099');

答案 3 :(得分:0)

string = '01\n02\n03\n99';
array = string.split('\n');
string2 = '';
for (i = 0; i < array.length; i++) {
    array[i] = parseInt(array[i]);
    string2 += array[i] + '. ';
}
document.write(string2);

答案 4 :(得分:0)

JavaScript中的子串如下:

string.substring(from, to);

其中from包含且to是独占的。您也可以使用切片:

string.slice(from, to)

其中from包含且to是独占的。切片和子串之间的区别在于切片可以指定负数。例如,from = -1表示最后一个字符。 from(-1, -3)将为您提供字符串的最后2个字符。

如果你没有指定end,那么使用这两种方法就可以得到所有字符。

答案 5 :(得分:0)

Ii他们总是2位数如何;

var s = "01020399";
var result = []
for (var i = 0; i < s.length; i+=2)
    result.push(parseInt(s.substr(i, 2), 10) + ".")

alert( result[2] )        // 3.
alert( result.join(" ") ) // 1. 2. 3. 99.