-1

如何使用 C#获取DASHBRACKET之间的所有字符?

字符串 x = "PU - XX (AYT)"

我想得到XX。破折号 [ - ] 和方括号 [ ( ] 是常量。

4

5 回答 5

2

string.IndexOf(string)您可以通过组合和string.substring(start,length)或使用string.split(char)- 方法来获得那些。

另一种方法是使用正则表达式。但作为初学者,我建议使用字符串 - 函数,因为它们可以帮助您了解正在发生的事情。正则表达式对于初学者来说并不容易理解。

您应该在 msdn 中找到对这些方法的深入解释:

索引:http : //msdn.microsoft.com/de-de/library/k8b1470s (v=vs.110).aspx

子字符串:http: //msdn.microsoft.com/de-de/library/aka44szs (v=vs.110) .aspx

拆分: http: //msdn.microsoft.com/de-de/library/b873y76a (v=vs.110).aspx

于 2013-11-14T16:28:11.810 回答
1

正则表达式:"- (.+)\("

使用 将其定义为正则表达式字符串中的一个组(group),并确保您(使用\(. then 表示任何事物中的.+一个或多个。

于 2013-11-14T16:30:58.930 回答
1

您可以使用Substring()函数来获取String.

            string x = "PU - XX (AYT)";
            int end = x.IndexOf("(");
            int begin = x.IndexOf("-");    
            string requiredPart=x.Substring(begin+1, (end - begin)-1);

变量 requiredPart 包含介于-和之间的字符串(

于 2013-11-14T16:33:03.567 回答
1
string str = "PU - XX (AYT)";
int s = str.IndexOf('-');    
if(s < 0)                                             //make sure string contains a dash
    return "";
else
{
    int e = str.IndexOf('(', s + 1)                   //start looking for bracket 
                                                      //from this point forward

    return (e >= 0? str.Substring(s + 1, e - s) : ""); //ensure it contains a bracket too
}
于 2013-11-14T16:42:57.540 回答
1

在这里,这个正则表达式可以在“-”和“(”之间找到字符串的中心部分。这会自动排除空格。

(?<=- ).*(?= \()
于 2013-11-14T16:54:36.117 回答