C#で文字列から数値を見つけて抽出する方法は?
正規表現は、入力テキストと照合できるパターンです。.NetFrameworkは、そのような照合を可能にする正規表現エンジンを提供します。パターンは、1つ以上の文字リテラル、演算子、または構成要素で構成されます。
RegExで使用される基本的なパターンメタ文字は次のとおりです-
* = zero or more ? = zero or one ^ = not [] = range
^記号は、条件なしを指定するために使用されます。
0〜9、a-z、A-Zなどの範囲値を指定する場合は[]括弧
Char.IsDigit()の使用
例
using System; namespace DemoApplication{ public class Program{ static void Main(string[] args){ string str1 = "123string456"; string str2 = string.Empty; int val = 0; Console.WriteLine($"String with number: {str1}"); for (int i = 0; i < str1.Length; i++){ if (Char.IsDigit(str1[i])) str2 += str1[i]; } if (str2.Length > 0) val = int.Parse(str2); Console.WriteLine($"Extracted Number: {val}"); Console.ReadLine(); } } }
出力
String with number: 123string456 Extracted Number: 123456
上記の例では、文字列str1のすべての文字をループしています。 TheChar.IsDigit()は、特定の文字が数字であるかどうかを検証し、後で数字に解析される新しい文字列にそれを追加します。
正規表現の使用
例
using System; using System.Text.RegularExpressions; namespace DemoApplication{ public class Program{ static void Main(string[] args){ string str1 = "123string456"; string str2 = string.Empty; int val = 0; Console.WriteLine($"String with number: {str1}"); var matches = Regex.Matches(str1, @"\d+"); foreach(var match in matches){ str2 += match; } val = int.Parse(str2); Console.WriteLine($"Extracted Number: {val}"); Console.ReadLine(); } } }
出力
String with number: 123string456 Extracted Number: 123456
上記の例では、正規表現(\ d +)を使用して、文字列str1から数値のみを抽出します。
-
JavaScriptで数字と文字列を追加するにはどうすればよいですか?
javascriptでは、 数字と数字を追加することはできますが、数字と文字列を追加しようとすると、追加できないため、「連結」 発生します。 次の例では、変数a、b、c、d 取られます。変数aの場合、2つの数値(5、5)が追加されるため、数値(10)が返されます。ただし、変数bの場合、文字列と数値( 5、5)が追加されます。したがって、文字列が含まれるため、結果は文字列である55になります。文字列が含まれているため、変数cおよびdも出力に示されているように文字列を返します。 例 <html> <body> <script type="text/ja
-
NSStringから最後の4文字を抽出するにはどうすればよいですか?
swiftの文字列から最後の4文字を抽出するには、SwiftのStringクラスの内部関数を使用できます。 メソッドが変更、非推奨、追加、改善されるたびに、新しいリリースが迅速に提供されます。 Swiftは、同じことを実現するためのさまざまな方法を提供します。いくつかの例を使って、これらの方法を見てみましょう。 方法1-部分文字列 迅速な3では、文字列、最後のインデックス、および文字列をトリミングするオフセットを渡すことができるサブ文字列と呼ばれるメソッドを使用することが許可されました。 同じ例を見てみましょう: var Str1 = "12312$$33@" pri