为了账号安全,请及时绑定邮箱和手机立即绑定

如何从像axb这样的文本中获取a和b值?

如何从像axb这样的文本中获取a和b值?

C#
守候你守候我 2022-10-23 15:57:18
我面临如何从text获取特定字符串值的问题。例如:对于给定的string"400X500 abc"我怎样才能string从该文本中获得一些信息,例如:string width = "400" string height = "500"非常感谢你的帮助。此致,樱桃长
查看完整描述

4 回答

?
吃鸡游戏

TA贡献1829条经验 获得超7个赞

您可以尝试正则表达式以提取数字


 using System.Text.RegularExpressions;


 ...


 string source = "400X500 abc";


 string[] numbers = Regex

   .Matches(source, "[0-9]+") 

   .OfType<Match>()

   .Select(match => match.Value)

   .ToArray(); 


 string width = numbers.ElementAtOrDefault(0) ?? "";

 string height = numbers.ElementAtOrDefault(1) ?? "";

或者(如果您想确保存在X分隔符)


  Match match = Regex

    .Match(source, @"([0-9]+)\s*X\s*([0-9]+)", RegexOptions.IgnoreCase);


  string width = match.Success ? match.Groups[1].Value : "";

  string height = match.Success ? match.Groups[2].Value : "";


查看完整回答
反对 回复 2022-10-23
?
哔哔one

TA贡献1854条经验 获得超8个赞

我假设输入字符串始终采用相同的格式。


“高度 X 宽度 abc”


var value = "400X500 abc";


var vals = value.Trim().Split('X');


var height = new string(vals[0] == null ? "0".ToArray() : vals[0].Where(char.IsDigit).ToArray());

var width = new string(vals[1] == null ? "0".ToArray() : vals[1].Where(char.IsDigit).ToArray());

我相信你可以根据需要进行调整。


编辑:


我调整了代码以避免注释中指出的问题,并确保您只从字符串中获取数字


查看完整回答
反对 回复 2022-10-23
?
富国沪深

TA贡献1790条经验 获得超9个赞

假设文本总是采用“100X200 aabdsafgds”格式,那么一个可行的解决方案将类似于:


var value = "100X200 aabdsafgds";

var splitValues = value.Split(new[] { 'X', ' ' }, StringSplitOptions.RemoveEmptyEntries);

var value1 = splitValues[0];

var value2 = splitValues[1];


查看完整回答
反对 回复 2022-10-23
?
月关宝盒

TA贡献1772条经验 获得超5个赞

你可以尝试这样的事情:


string data = "400X500 abc";

string[] splitData = data.TrimEnd('a', 'b', 'c').Trim().Split('X');

string width = splitData[0] ?? string.Empty;

string height = splitData[1] ?? string.Empty;


查看完整回答
反对 回复 2022-10-23
  • 4 回答
  • 0 关注
  • 187 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号