开发者

remove the any character from string except number,dot(.), and comma(,) [duplicate]

This question already has answers here: Closed 12 years ago.

Possible Duplicate:

remove th开发者_运维技巧e invalid character from price

Hi friends,

i have a scenario where i have to remove the invalid character from price using c# code.

i want the regular ex to remove the character or some thing good then this.

For Ex- my price is

"3,950,000 ( Ex. TAX )"

i want to remove "( Ex. TAX )" from the price.

my scenario is that. i have to remove the any character from string except number,dot(.), and comma(,)

please help..

thanks in advance

Shivi


    private string RemoveExtraText(string value)
    {
        var allowedChars = "01234567890.,";
        return new string(value.Where(c => allowedChars.Contains(c)).ToArray());
    }


        string s = @"3,950,000 ( Ex. TAX )";
        string result = string.Empty;
        foreach (var c in s)
        {
            int ascii = (int)c;
            if ((ascii >= 48 && ascii <= 57) || ascii == 44 || ascii == 46) 
            result += c;
        }
        Console.Write(result);

Notice that the dot in "Ex. TAX" will stay


How about this:

using System.Text.RegularExpressions;

public static Regex regex = new Regex(
      "(\\d|[,\\.])*",
    RegexOptions.IgnoreCase
    | RegexOptions.CultureInvariant
    | RegexOptions.IgnorePatternWhitespace
    | RegexOptions.Compiled
    );


//// Capture the first Match, if any, in the InputText
Match m = regex.Match(InputText);

//// Capture all Matches in the InputText
MatchCollection ms = regex.Matches(InputText);

//// Test to see if there is a match in the InputText
bool IsMatch = regex.IsMatch(InputText);


You can use LINQ

HashSet<char> validChars = new HashSet<char>(
    new char[] { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', ',', '.' });
var washedString = new string((from c in "3,950,000 ( Ex. TAX )"
                                where validChars.Contains(c)
                                select c).ToArray());

but the "." in "Ex. TAX" will remain.


you may use something like [^alpha] ore [^a-z]

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜