【问题标题】:Omitting the first digit from a given number [duplicate]省略给定数字的第一个数字[重复]
【发布时间】:2019-07-28 12:25:56
【问题描述】:

一位客户给了我一个联系电话。 将此号码提供给的客户端要求从结果中省略第一个号码。 我已经使用 Regex 来执行此操作,但我很好奇是否有更优化的方法来执行此操作。

var mobileNumber = "07123123123";
var homeNumber = "01511231231";

var pattern = "(.{10})$";

var omittedMobile = Regex.Split(mobileNumber, pattern)[1];
var omittedHome = Regex.Split(homeNumber, pattern)[1];

var mobileNumber = "07123123123";
var homeNumber = "01511231231";

我收到:07123123123 - 我提供 7123123123

【问题讨论】:

  • 不是很清楚你的目标是什么,但一个简单的 mobileNumber.Substring(1) 就足够了(即使你只有 10 位或更少的数字,它也可以工作字符串)
  • 可能值得仔细检查您的需求:真正的需求(与“您的客户想象的需求”相反)可能不是 盲目删除第一个数字,而是“以区号开头的数字”,例如01234... 应该变成 1234...+441234... 应该变成 1234...1234 应该抛出一个错误。
  • 这里的任务看起来只是“从字符串中获取最后 X 个字符”。它有already been solved

标签: c# regex


【解决方案1】:

为什么不把它当作一个简单的字符串,去掉第一个字符呢?

mobileNumber.Substring(1);

//or

mobileNumber.Remove(0, 1);

【讨论】:

    【解决方案2】:

    使用字符串函数Substring(int startIndex)

    var mobileNumber = "07123123123";
    Console.WriteLine(mobileNumber.Substring(1));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-27
      • 2014-12-23
      • 2016-11-07
      • 1970-01-01
      相关资源
      最近更新 更多