亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在C#中將字符串中的某個數字相乘

如何在C#中將字符串中的某個數字相乘

C#
泛舟湖上清波郎朗 2023-07-09 15:25:01
我正在 winform 中制作一個小工具,使我的工作更輕松一些。我的目標是制作一個可以更改每個索引之前的數字的工具。這是一組具有不同索引的項目:1695、1696 等...我想將每個索引之前的數字乘以 2:輸入:(group (index 2589) (item (6 1695 0) (12 1696 0) (18 1697 0) (24 1698 0)))輸出:(group (index 2589) (item (12 1695 0) (24 1696 0) (36 1697 0) (48 1698 0)))如何以一種好的方式分割字符串以定位索引之前的數字?
查看完整描述

1 回答

?
撒科打諢

TA貢獻1934條經驗 獲得超2個贊

您可以使用正則表達式來執行此操作。例如:


Regex regex = new Regex(@"(?<=\()(\d+)(?= \d+ \d+\))");

var input = "(group (index 2589) (item (6 1695 0) (12 1696 0) (18 1697 0) (24 1698 0)))";

// (group (index 2589) (item (12 1695 0) (24 1696 0) (36 1697 0) (48 1698 0)))

var output = regex.Replace(input, (match) => (int.Parse(match.Value) * 2).ToString());

這里的正則表達式模式具有三個組件,用于隔離要相乘的數字。


(?<=\()是積極的向后看,尋找開括號。


(\d+)匹配括號中的第一個數字 - 一個或多個數字


(?= \d+ \d+\))是正向前查找,它搜索一個空格、一個或多個數字,后跟另一個空格、另一個數字和右括號。


正則表達式的匹配結果只是索引號,因此我們可以使用MatchEvaluator委托將其相乘并替換為原始字符串。


查看完整回答
反對 回復 2023-07-09
  • 1 回答
  • 0 關注
  • 142 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號