2009-06-16 22 views
3

文字列から最初のnアルファ文字をトリムする必要があります。文字列からnアルファベット文字を切り捨てる

例:どのように正規表現の作品ここ

String output = Regex.Replace(input, @"^[^\d]+", String.Empty); 

は次のとおりです。

A123456 - > 123456
abc123456 - - > 123456
abc123456def> 123456def

答えて

9

このような何かを試してみてください:

^[^\d]+

^アンカー文字列
[^\d]の初めの式は文字がすべて非整数値
+が、それは1に一致することによって、[^\d]を修飾一致しています以上回

基本的に、この正規表現は、整数文字が見つかるまで、文字列内のすべての非整数文字を照合します。

+0

ありがとうございました。 –

1
static string AlphaTrimRight(string value) 
{ 
    while (!Char.IsNumber(value[0])) 
     value = value.Substring(1, value.Length - 1); 
    return value; 
} 
+0

サブストリングは、基になるchar []を元の文字列と共有しますか? –

+0

どういう意味ですか? – Shimmy

+0

おそらく何もありません。 C#の文字列は、Java文字列とはまったく異なって実装されることがあります。 Java文字列には内部のchar []があり、substring()メソッドで作成された文字列と共有できます。私はちょうどC#の文字列が同じことをするのだろうかと思っていた。もしそうでなければ、この方法はむしろ非効率的なように見える(たくさんのchar []コピー)。 –

関連する問題