我有串看起来像这样:如何解析Javascript中的字符串?
01
02
03
99
我想分析这些,使它们成字符串,如:
1. 2. 3. 99. etc.
的数字是最多2个字符。此外,我必须在源字符串中解析更多数字,所以我想要了解JavaScript中的子字符串。有人可以给我建议,我怎么做。以前我一直用下面做它在C#:
int.Parse(RowKey.Substring(0, 2)).ToString() + "."
感谢
我有串看起来像这样:如何解析Javascript中的字符串?
01
02
03
99
我想分析这些,使它们成字符串,如:
1. 2. 3. 99. etc.
的数字是最多2个字符。此外,我必须在源字符串中解析更多数字,所以我想要了解JavaScript中的子字符串。有人可以给我建议,我怎么做。以前我一直用下面做它在C#:
int.Parse(RowKey.Substring(0, 2)).ToString() + "."
感谢
当然为什么,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"
。此外,对于子字符串,您可以在和substr(start, length)
之间选择。如果你只是想拉一个字符,"abcdefg"[2]
将返回"c"
(从零开始的索引,所以2表示第三个字符)。当谈到简单的数字或字母时,您通常不必担心类型转换。
使用parseInt
功能。
parseInt函数(09)//这会给你9
var myString = parseInt("09").toString()+". "+parseInt("08").toString();
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);
子串在JavaScript是这样工作的:
string.substring(from, to);
其中from
是包容性和to
是排他的。你也可以用切片:
string.slice(from, to)
其中from
是包容性和to
是排他的。切片和子字符串之间的区别是切片,您可以指定负数。例如,from = -1
表示最后一个字符。 from(-1, -3)
会给你字符串的最后2个字符。
使用这两种方法,如果你没有指定结束,那么你会得到所有的字符到最后。
保罗
í他们总是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.
但我需要一个字符串,因为我将添加“。”字符。我怎样才能将上述内容转换为字符串? – TonyG 2011-05-26 17:19:06
JavaScript是弱类型,所以你可以用'+'的字符串和数字相结合。如果你有不舒服,替代'parseInt函数(test.substr(1,2))的toString()'以上。 – brymck 2011-05-26 17:21:18
感谢布赖恩。我没有意识到这是每周打字。很棒。我会接受。 – TonyG 2011-05-26 17:25:50