在 JavaScript 中從字串中刪除逗號
本教程將解釋如何使用 replace()
和 split()
方法從字串中刪除逗號。之後,我們將使用 parseFloat()
將字串轉換為浮點數,從而生成在數學加法期間不會連線的組合字串。
使用 JavaScript 中的 replace()
方法刪除逗號
replace()
方法接受正規表示式模式和替換字串。它將使用正規表示式模式在字串中查詢逗號,用替換字串替換逗號。
我們的目標是消除逗號以清空替換字串。
let string_one = '2,526.23';
let string_two = '33,999.21';
let replaced_string_one = string_one.replace(/,/g, '');
let replaced_string_two = string_two.replace(/,/g, '');
let add_replaced_string = parseFloat(replaced_string_one) + parseFloat(replaced_string_two);
console.log("Replaced string_one: ", replaced_string_one);
console.log("Replaced string_two: ", replaced_string_two);
console.log("Added replaced string: ", add_replaced_string);
輸出:
Replaced string_one: 2526.23
Replaced string_two: 33999.21
Added replaced string: 36525.44
在上面的程式碼中,我們將兩個字串儲存在兩個變數中。我們想在字串中新增數字,所以我們用 replace()
方法替換逗號。
替換後,我們使用 parseFloat()
函式將字串轉換為浮點數,以保留字串中的任何小數點。
使用 JavaScript 中的 split()
方法刪除逗號
split
方法將字串中的逗號作為引數,並返回一個陣列。該陣列包含的元素是在 split
找到逗號的每個點處的字串塊。
但是,我們需要一個字串,而不是陣列。我們將使用 join()
方法將陣列轉換為字串。
一旦陣列元素是一個字串,你可以在新增它們之前對其使用 parseFloat()
函式。
let first_string = '12,222,526.99';
let second_string = '2,821.21';
let replaced_first_string = first_string.split(",").join("");
let replaced_second_string = second_string.split(",").join("");
let add_replaced_string = parseFloat(replaced_first_string) + parseFloat(replaced_second_string);
console.log("Replaced first_string: ", replaced_first_string);
console.log("Replaced second_string: ", replaced_second_string);
console.log("Added replaced string: ", add_replaced_string);
輸出:
Replaced first_string: 12222526.99
Replaced second_string: 2821.21
Added replaced string: 12225348.200000001
使用 Lodash Replace
方法刪除逗號
Lodash 是一個 JavaScript 庫;它有一個接受三個引數的 replace()
方法。這些引數是 string
、pattern
和 replacement
。
string
應該包含你要替換的內容,pattern
應該匹配你要替換的字串部分。最後,replacement
根據模式被替換到字串中。
在下面的程式碼中,我們使用了 Lodash replace()
方法來替換字串中的逗號。之後,我們在新增之前對結果字串使用 parseFloat()
函式。
<body>
<script
src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.21/lodash.min.js"
integrity="sha512-WFN04846sdKMIP5LKNphMaWzU7YpMyCU245etK3g/2ARYbPK9Ub18eG+ljU96qKRCWh+quCY7yefSmlkQw1ANQ==" crossorigin="anonymous"
referrerpolicy="no-referrer"
>
</script>
<script type="text/javascript">
let lodash = _;
let string_one = '44,321.12';
let string_two = '1,245.01';
let replaced_string_one = _.replace(string_one, ',', '');
let replaced_string_two = _.replace(string_two, ',', '');
let add_replaced_string = parseFloat(replaced_string_one) + parseFloat(replaced_string_two);
console.log("Replaced string_one: ", replaced_string_one);
console.log("Replaced string_two: ", replaced_string_two);
console.log("Added replaced string: ", add_replaced_string);
</script>
</body>
輸出:
Replaced string_one: 44321.12
Replaced string_two: 1245.01
Added replaced string: 45566.130000000005
Habdul Hazeez is a technical writer with amazing research skills. He can connect the dots, and make sense of data that are scattered across different media.
LinkedIn