我想去掉除数字、$、逗号(,)之外的所有内容

发布于 2024-12-06 10:56:39 字数 262 浏览 0 评论 0原文

我想去掉除数字、$、逗号(,)之外的所有内容。

这只是条带字母

        string Cadena;
        Cadena = tbpatronpos6.Text;

        Cadena = Regex.Replace(Cadena, "([^0-9]|\\$|,)", "");
        tbpatronpos6.Text = Cadena;

为什么我的正则表达式不起作用,我该如何修复它?

I want to strip off everything but numbers, $, comma(,).

this only strip letters

        string Cadena;
        Cadena = tbpatronpos6.Text;

        Cadena = Regex.Replace(Cadena, "([^0-9]|\\$|,)", "");
        tbpatronpos6.Text = Cadena;

Why doesn't my regex work, and how can I fix it?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

心凉怎暖 2024-12-13 10:56:39

我怀疑这就是您想要的:

using System;
using System.Text.RegularExpressions;

class Test
{
    static void Main(string[] args)
    {
        string original = @"abc%^&123$\|a,sd";
        string replaced = Regex.Replace(original, @"[^0-9$,]", "");
        Console.WriteLine(replaced); // Prints 123$,
    }
}

问题是您对交替运算符的使用,基本上 - 您只想对(数字,逗号,美元)的所有设置否定。

请注意,您不需要在字符组中转义美元。

I suspect this is what you want:

using System;
using System.Text.RegularExpressions;

class Test
{
    static void Main(string[] args)
    {
        string original = @"abc%^&123$\|a,sd";
        string replaced = Regex.Replace(original, @"[^0-9$,]", "");
        Console.WriteLine(replaced); // Prints 123$,
    }
}

The problem was your use of the alternation operator, basically - you just want the set negation for all of (digits, comma, dollar).

Note that you don't need to escape the dollar within a character group.

灯角 2024-12-13 10:56:39

你想要这样的东西吗?

[^\\d\\$,]

you want something like this?

[^\\d\\$,]
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文