如何只获取整数并删除C#中的所有字符串[重复]

如何解决如何只获取整数并删除C#中的所有字符串[重复]

||                                                                                                                   这个问题已经在这里有了答案:                                                      

解决方法

        
input = Regex.Replace(input,\"[^0-9]+\",string.Empty);
    ,        有四种不同的方法(可能更多,但我选择了这些方法)。 #1:来自Bala R的正则表达式
string output = Regex.Replace(input,string.Empty);
#2:来自Donut和agent-j的正则表达式
string output = Regex.Match(input,@\"\\d+\").Value;
#3:Linq
string output = new string(input.ToCharArray().Where(c => char.IsDigit(c)).ToArray());
#4:子字符串,要使此字符串起作用,破折号必须在数字和文本之间的字符串中。
string output = input.Substring(0,input.IndexOf(\"-\")).Replace(\" \",\"\");
使用这些输入:
string input1 = \"01 - ABCDEFG\";
string input2 = \"01 - ABCDEFG123\";
对于1和2,结果将是:
output1 = \"01\";
output2 = \"01123\";
对于3和4,结果将是:
output1 = \"01\";
output2 = \"01\";
如果预期的结果是获取字符串中的所有数字,请使用#1或#2,但是如果预期的结果是仅获取破折号之前的数字,请使用#3或#4。 在字符串如此短的情况下,#1和#2的速度大致相同,而#3和#4的速度相同,但是如果存在大量迭代,或者字符串长四倍或更多,则#2比#1快,并且#4比#3快。 注意:如果必须在字符串#4中包含括号,则必须对此进行修改,但这不会使其变慢:
string output = input.Substring(0,\"\").Replace(\"(\",\"\");
    ,        尝试这个:
Convert.ToInt32(string.Join(null,System.Text.RegularExpressions.Regex.Split(s,\"[^\\\\d]\")))
它返回整数值1。     ,        
string snum = System.Text.RegularExpression.Regex.Match(s,\"\\d+\").Value;
int num;
if (!int.TryParse(snum,out num))
  throw new Exception();
    ,        您应该使用正则表达式-它们是将文本字符串与某些模式进行匹配的一种非常有效的方法,这是使用它们的绝佳方案。 模式“
\\d+
\”将匹配1个或多个数字的序列。使用此模式从字符串中提取所有数字的简单方法如下:
public static List<int> ExtractInts(string input)
{
   return Regex.Matches(input,@\"\\d+\")
      .Cast<Match>()
      .Select(x => Convert.ToInt32(x.Value))
      .ToList();
}
因此,您可以像这样使用它:
List<int> result = ExtractInts(\"( 01 - ABCDEFG )\");
有关正则表达式的更多详细信息,请参阅本页(MSDN)或本页(有用的“备忘单”)。     ,        查看此博客文章:  http://weblogs.asp.net/sushilasb/archive/2006/08/03/How-to-extract-numbers-from-string.aspx 一个简单的程序,使用正则表达式从字符串中提取数字。
class Program
    {
    static void Main(string[] args)
    {
      Console.WriteLine(ExtractNumbers(\"( 01 - ABCDEFG )\"));    // 01
      Console.ReadLine();
    }

    static string ExtractNumbers(string expr)
    {
        return string.Join(null,System.Text.RegularExpressions.Regex.Split(expr,\"[^\\\\d]\"));
    }
}
希望这可以帮助!     ,        从字符串获取所有数字
string str = \"01567438absdg34590\";
            string result = \"\";

             result = Regex.Replace(str,@\"[^\\d]\",\"\");

            Console.WriteLine(result);
            Console.Read();
输出:0156743834590     ,        
Response.Write(Convert.ToDecimal(string.Join(null,System.Text.RegularExpressions.Regex.Split(TextBox1.Text,\"[^\\\\d .]\"))));
这适用于
int
decimal
号码。     ,        尝试这个:
string XYZ = string.Join(null,System.Text.RegularExpressions.Regex.Split(“XYZ  77”,“[^\\d]”));
    ,        您还可以使用这种方法来获取适当的答案。
string sentence = \"10 cats,20 dogs,40 fish and 1 programmer\";
 string[] digits= Regex.Split(sentence,@\"\\D+\");
             foreach (string value in digits)
             {
                 int number;
                 if (int.TryParse(value,out number))
                 {
                     Debug.Log(value);
                 }
             }
    

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?