如何使用 C#获取DASH和BRACKET之间的所有字符?
字符串 x = "PU - XX (AYT)"
我想得到XX。破折号 [ - ] 和方括号 [ ( ] 是常量。
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
正则表达式:"- (.+)\("
使用 将其定义为正则表达式字符串中的一个组(group)
,并确保您(
使用\(
. then 表示任何事物中的.+
一个或多个。
您可以使用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 包含介于-
和之间的字符串(
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
}
在这里,这个正则表达式可以在“-”和“(”之间找到字符串的中心部分。这会自动排除空格。
(?<=- ).*(?= \()