日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

NET问答: 如何从 string 中挖出所有的 number ?

發布時間:2023/12/4 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 NET问答: 如何从 string 中挖出所有的 number ? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

咨詢區

  • van:

我現在有一個需求,想從 string 中找到所有的 number 并提取出來。

舉例如下:

string?test?=?"1?hello" string?test1?=?"?1?world" string?test2?=?"helloworld?99"

請問我該如何做?

回答區

  • Tabares:

這個簡單,可以用正則表達式 Regex.Split 提取所有的 number,使用下面的代碼。

public?class?Program{static?void?Main(string[]?args){string?input?=?"There?are?4?numbers?in?this?string:?40,?30,?and?10.";//?Split?on?one?or?more?non-digit?characters.string[]?numbers?=?Regex.Split(input,?@"\D+");foreach?(string?value?in?numbers){if?(!string.IsNullOrEmpty(value)){int?i?=?int.Parse(value);Console.WriteLine("Number:?{0}",?i);}}}}
  • Ramireddy Ambati:

可以試著用 Regex.Matches 提取。

static?void?Main(string[]?args){string?input?=?"Hello?20,?I?am?30?and?he?is?40";var?numbers?=?Regex.Matches(input,?@"\d+").OfType<Match>().Select(m?=>?int.Parse(m.Value)).ToArray();foreach?(var?item?in?numbers){Console.WriteLine($"number:?{item}");}}
  • Thomas C. G. de Vilhena:

我寫了一個擴展方法可以提取出 string 中所有的正整數,方法如下:

public?static?class?StringExt{public?static?List<long>?Numbers(this?string?str){var?nums?=?new?List<long>();var?start?=?-1;for?(int?i?=?0;?i?<?str.Length;?i++){if?(start?<?0?&&?Char.IsDigit(str[i])){start?=?i;}else?if?(start?>=?0?&&?!Char.IsDigit(str[i])){nums.Add(long.Parse(str.Substring(start,?i?-?start)));start?=?-1;}}if?(start?>=?0)nums.Add(long.Parse(str.Substring(start,?str.Length?-?start)));return?nums;}}

然后像下面這樣調用

????????public?static?void?Main(string[]?args){var?input?=?"I?was?born?in?1989,?27?years?ago?from?now?(2016)";foreach?(var?item?in?input.Numbers()){Console.WriteLine($"number:?{item}");}}

點評區

從解答中再次看到了 正則 的強大威力,不得不服,不過這種需求可以簡單,也可以特別復雜,比如考慮下面的情況:

  • 小數 ? ? ?eg: 200.002,100.01

  • 負數 ? ? ?eg: -20.02,-10.0

當然都可以用相對復雜的正則寫出來,但現實中不得不考慮這些情況哈????????????

原文鏈接:https://stackoverflow.com/questions/4734116/find-and-extract-a-number-from-a-string

總結

以上是生活随笔為你收集整理的NET问答: 如何从 string 中挖出所有的 number ?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。