C# 文字列から数値だけを抜き出す方法
やりたいこと
文字列から数値だけを抜き出したい。
オブジェクトの名前から数字だけ取りたい時に使えそうなのでメモ。
コード
Regex.Replace()を使って、数値以外の文字列を""に置換することで数値だけを残す方法。
例
オブジェクト名 Stage21 から21だけを抜き出す
using System.Text.RegularExpressions; string str = Regex.Replace (gameObject.name, @"[^0-9]", ""); Debug.Log (str);
//出力結果 21
使用したメソッド
Regex.Replace メソッド (String, String, String) (System.Text.RegularExpressions)
public static string Replace( string input, string pattern, string replacement )
パラメーター
input
元になる文字列
pattern
一致させる正規表現パターン
replacement
置換したい文字列
戻り値
inputの中から、patternに一致した文字列を、replacementに置き換えた文字列
数字以外という正規表現
・前に @ をつける
・"[0-9]" で数字を意味する
・^ をつけることで、〜以外となる
ちなみに、文字列を数値に変換するなら
int str =int.Parse(Regex.Replace (gameObject.name, @"[^0-9]", ""));
以上