カスタム関数を使用して括弧内の文字列を取得するにはどうすればよいですか?
たとえば、文字列「GREECE(+30)」は「+30」のみを返す必要があります
いくつかの異なる方法があります。
プレーン文字列メソッド:
Dim left As Integer = str.IndexOf('(')
Dim right As Integer= str.IndexOf(')')
Dim content As String = str.Substring(left + 1, right - left - 1)
正規表現:
Dim content As String = Regex.Match(str, "\((.+?)\)").Groups[1].Value
一般的な問題については、を使用することをお勧めしRegex
ます。ただし、入力文字列の形式(1セットの括弧のみ、閉じ括弧の前に開き括弧)がわかっている場合は、次のように機能します。
int startIndex = s.IndexOf('(') + 1;
string result = s.Substring(startIndex, s.LastIndexOf(')') - startIndex);
正規表現で。
Dim result as String = System.Text.RegularExpressions.Regex.Match("GREECE (+30)", "\((?<Result>[^\)]*)\)").Groups["Result"].Value;
コードはテストされていませんが、コンパイルの問題のみが予想されます。
正規表現を見るか、そうでなければIndexOf()
関数で遊ぶことができます
Python では、文字列インデックス メソッドとスライスを使用します。
>>> s = "GREECE(+30)"
>>> s[s.index('(')+1:s.index(')')]
'+30'