繁体   English   中英

在VB.Net中使用perl regex构造?

[英]Using perl regex constructs in VB.Net?

在perl中,您可以编写

$string =~ tr/[a,e,i,o,u,y]/[A,E,I,O,U,Y]/;

例如。

使用VB.Net正则表达式是否可以实现相同的“翻译”效果?

谢谢!

PS:我不是在寻找移植此示例的方法,更多的是好奇心问题:)

没有为此的标准方法。 您可以通过遍历输入字符串中的每个字符并使用字典将其映射到另一个字符(或者如果在字典中未找到该字符,则将其保留不变)来做到这一点。 由于性能原因,可以使用StringBuilder构建结果。

如果性能不是问题,那么您也许可以使用一些替换操作:

s = s.Replace("a", "A")
     .Replace("e", "E")
     ...
     .Replace("y", "Y");

这是执行此操作的一种方法:

public string fakeTR(string theString, char[] org, char[] rep)
{
  for(int i=0;i<org.lenght;i++)
  {
    theString = theString.Replace(org[i], rep[i]);
  }
  return theString;
}

You would be able to call it with somewhat clunky but shorter:

string v = "Black in South Dakota";
v = fakeTR(v, new char[]{'B','l','a','c','k'}, new char[]{'W','h','i','t','e'}); 

H / T http://discuss.joelonsoftware.com/default.asp?dotnet.12.306220.6

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM