2017-12-07 10 views
0

ドットまたはカンマの前にあるすべての部分文字列を取得するにはどうすればよいですか?例えばドットまたはカンマの前にすべてを取得する#

string input = "2.1"; 
int charLocation = text.IndexOf(".", StringComparison.Ordinal); 
    string test = input.Substring(0, charLocation); 

しかし、私はinput = "2,1"を持っている場合は?

私は1つの方法でそれをやってみたいと思いますが、部分文字列を2回(ドットに1回、カンマに1回)使用しないでください。

+0

さまざまなロケールから来る可能性のある小数値を解析しようとしていますか?もしそうなら、あなたの質問を更新してください。より良い方法があります。 – kettch

+0

または、RegExを使用すると、2つの問題が発生します:) – theMayer

答えて

2
string test = input.Split(new Char[] { ',', '.' })[0]; 
0

これは

input.Split(',','.'); 
0

がIndexOfAny機能を使用して...カンマやピリオドのいずれかの文字列を分割します。これにより、単一の文字ではなく、検索する文字のリストを指定することができます。その後、その関数の戻り値まで部分文字列を作ることができます。

char[] chars = { '.', ',' } 
String out = s.Substring(0,s.IndexOfAny(chars)); 
関連する問題