2016-08-08 32 views
0

字符串的特定部分我有一個字符串,它看起來像這樣如何更換在Javascript

ATOM LEU 0.1234 C 0.123 0.32 0.34 

如何通過獲取C只有位置替換C.replace()&在Javascript? C的字母本質上可以是任何東西。

我想

ATOM LEU 0.1234 & 0.123 0.32 0.34. 
+0

' 「ATOM LEU 0.1234 0.123Ç0.32 0.34」 .replace( 「C」, 「&」)' –

+0

@RajaprabhuAravindasamy 「C的信基本上可以是任何東西。」 – yuriy636

+0

我想用C的位置替換而不是實際的字母本身。 –

回答

4

您可以通過使用substring()做到這一點,

var str = "ATOM LEU 0.1234 C 0.123 0.32 0.34"; 
var res = str.substring(0, 16) + "&" + str.substring(17); 
console.log(str); //"ATOM LEU 0.1234 & 0.123 0.32 0.34" 
+0

找到要替換的字符串的位置可能會更好,而不是使用16的靜態索引(您可能不知道是要替換的子字符串)。好的解決方案。 –

+1

我建議更新這個並使用'var res = [str.substring(0,16),str.substring(17)]。join(「&」)'。這是一個微妙的變化,但是如果你需要一次處理很多這些,速度會更快。在你的例子中,它應該說'console.log(res)',現在它只是記錄原始字符串 – jmcgriz

+0

@empiric它將取代非唯一字符的第一個實例。陳述「C的字母基本上可以是任何東西。」並不意味着它不會對字符串唯一;只是它不一定是「C」。 –

0

無功海峽= 「ATOM LEU 0.1234Ç0.123 0.32 0.34」;
var newStr = str.replace(str.charAt(16),「&」);

+1

如果16位字符串在字符串中不唯一,則每個字符都將被替換,不管它在什麼位置 – empiric

0

你也可以試試這個:

var str = "ATOM LEU 0.1234 C 0.123 0.32 0.34"; 
var strExp = str.split(" "); 
var newStr = str.replace(strExp[3], "&"); 
console.log(newStr); 
+0

他如何知道如何選擇字符串數組中的第4個元素? –

+0

Bcz,我認爲,這種模式不會改變 – rroxysam

0

找到你要替換的字符串的位置。然後用你想要的替換它。我寫這不知道你想要替換的字符串有多長。

var str = "ATOM LEU 0.1234 C 0.123 0.32 0.34"; 
var strToReplace = "C"; 
var indexOfStrToReplace = str.indexOf(strToReplace); 
var result = str.substring(0,indexOfStrToReplace) + "&" + str.substing(indexOfC + strToReplace.length);