0

カスタム関数を使用して括弧内の文字列を取得するにはどうすればよいですか?

たとえば、文字列「GREECE(+30)」は「+30」のみを返す必要があります

4

5 に答える 5

5

いくつかの異なる方法があります。

プレーン文字列メソッド:

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
于 2009-07-04T17:43:07.227 に答える
3

一般的な問題については、を使用することをお勧めしRegexます。ただし、入力文字列の形式(1セットの括弧のみ、閉じ括弧の前に開き括弧)がわかっている場合は、次のように機能します。

int startIndex = s.IndexOf('(') + 1;
string result = s.Substring(startIndex, s.LastIndexOf(')') - startIndex);
于 2009-07-04T17:41:22.347 に答える
1

正規表現で。

Dim result as String = System.Text.RegularExpressions.Regex.Match("GREECE (+30)", "\((?<Result>[^\)]*)\)").Groups["Result"].Value;

コードはテストされていませんが、コンパイルの問題のみが予想されます。

于 2009-07-04T17:44:27.257 に答える
0

正規表現を見るか、そうでなければIndexOf()関数で遊ぶことができます

于 2009-07-04T17:41:52.830 に答える
0

Python では、文字列インデックス メソッドとスライスを使用します。

>>> s = "GREECE(+30)"
>>> s[s.index('(')+1:s.index(')')]
'+30'
于 2009-07-04T18:08:00.743 に答える