dtb*_*dtb 14
假设城市不包含(字符:
string s = "City (PR)";
int p = s.LastIndexOf("(");
string city = s.Substring(0, p).Trim();
string province = s.Substring(p + 1, s.Length - p - 2).Trim();
Run Code Online (Sandbox Code Playgroud)
city是第一个字符的子字符串,但不包括最后一个(字符.
province是从最后一个(到最后一个字符后面的第一个字符的子字符串.
Jul*_*rau 14
您可以使用正则表达式和命名组.
string resultString = "New York (New York)";
Regex regexObj = new Regex(@"(?<City>[^(]*)\((?<PR>[^)]*)\)",RegexOptions.IgnoreCase);
var match = regexObj.Match(subjectString);
if (match.Success)
{
string city = match.Groups["City"].Value.Trim();
string province = match.Groups["PR"].Value;
}
Run Code Online (Sandbox Code Playgroud)
(?<City>[^(]*)\((?<PR>[^)]*)\) :
(?<City>XXX) 定义一个名为City的组
[^(]*匹配任何不在(0和无限时间之间的字符\(匹配(一次(?<PR>XXX) 定义名为PR的组
[^)]*匹配任何不在)0和无限时间之间的字符\)匹配)一次Kir*_*ein 10
正则表达式?
您可以将模式划分为捕获组并从那里开始.
(.*)(\(.*\))
Run Code Online (Sandbox Code Playgroud)
这将捕获第一组中的城市和第二组中的PR /省份.
编辑:madgnomes正则表达式从匹配中删除了paratheneses,即使正则表达式在这一点上变得可怕:)