2011-05-26 146 views
1

我有串看起來像這樣:如何解析Javascript中的字符串?

01 
02 
03 
99 

我想分析這些,使它們成字符串,如:

1. 2. 3. 99. etc. 

的數字是最多2個字符。此外,我必須在源字符串中解析更多數字,所以我想要了解JavaScript中的子字符串。有人可以給我建議,我怎麼做。以前我一直用下面做它在C#:

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

感謝

回答

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"。此外,對於子字符串,您可以在和substr(start, length)之間選擇。如果你只是想拉一個字符,"abcdefg"[2]將返回"c"(從零開始的索引,所以2表示第三個字符)。當談到簡單的數字或字母時,您通常不必擔心類型轉換。

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

+0

但我需要一個字符串,因爲我將添加「。」字符。我怎樣才能將上述內容轉換爲字符串? – TonyG 2011-05-26 17:19:06

+0

JavaScript是弱類型,所以你可以用'+'的字符串和數字相結合。如果你有不舒服,替代'parseInt函數(test.substr(1,2))的toString()'以上。 – brymck 2011-05-26 17:21:18

+0

感謝布賴恩。我沒有意識到這是每週打字。很棒。我會接受。 – TonyG 2011-05-26 17:25:50

1

使用parseInt功能。

parseInt函數(09)//這會給你9

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

後來我將需要得到我的字符串中的第4和第5個字符的值,並執行相同的操作。在JavaScript中是否存在子字符串類型的函數? – TonyG 2011-05-26 17:17:26

+0

@TonyG - 是的,有一個[substring](http://www.w3schools。com/jsref/jsref_substring.asp)在JavaScript中。 – niksvp 2011-05-26 17:21:44

+0

謝謝你,但我收到此錯誤信息:函數的toString(){[本地代碼]} – TonyG 2011-05-26 17:23:13

0
var number = parseFloat('0099'); 
+0

將這個給我的東西看起來像「99」從輸入? – TonyG 2011-05-26 17:17:47

+0

嘗試:'var number = parseFloat('0099');' – NAVEED 2011-05-26 17:19:02

+0

看看編輯的答案和演示 – NAVEED 2011-05-26 17:22:00

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); 
0

子串在JavaScript是這樣工作的:

string.substring(from, to); 

其中from是包容性和to是排他的。你也可以用切片:

string.slice(from, to) 

其中from是包容性和to是排他的。切片和子字符串之間的區別是切片,您可以指定負數。例如,from = -1表示最後一個字符。 from(-1, -3)會給你字符串的最後2個字符。

使用這兩種方法,如果你沒有指定結束,那麼你會得到所有的字符到最後。

保羅

0

í他們總是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.