簡體   English   中英

如果不包含任何數字,如何將字符串轉換為0?

[英]How to convert a string to 0 if it isn't containing any digit?

我有這個輸入:

var str1 = "21";
var str2 = "1.";
var str3 = "5. test"
var str4 = "- something";

我想要這個輸出:

// 21
// 1
// 5
// 0

  • 一種情況不需要轉換。
  • 第二種情況需要使用Number();
  • 第三種情況使用.replace(/(\\d)/g, "$1");
  • 但是我該怎么辦第四種情況? 實際上,如果字符串中不包含數字,我想將其替換為0

我的問題似乎很簡單,但是那是我正在考慮的30分鍾,但仍然無法解決。

isNaN()parseInt()

 var str1 = "21"; var str2 = "1."; var str3 = "5. test" var str4 = "- something"; console.log(isNaN(parseInt(str1)) ? 0 : parseInt(str1)); console.log(isNaN(parseInt(str2)) ? 0 : parseInt(str2)); console.log(isNaN(parseInt(str3)) ? 0 : parseInt(str3)); console.log(isNaN(parseInt(str4)) ? 0 : parseInt(str4)); 

你可以說如果number(yourString)= NaN然后打印0

   var patt = /([0-9]+)/,
       match = patt.exec(str);
   if (!match) 
        str = 0;
   else
       str = match[1];

這將匹配您字符串中的第一個數字。

var str4 = "- something"; 
str4 = ( str4.match(/\d+/g)) ? str4 : 0;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM