我试图在某些字段上创建条件,只使用大写,小写,数字和逗号作为分隔符。 在可以有项目名称的字段上,我不需要逗号,所以我发现的是这个但是,我不能有大写
public class Globals
{
public InsuredItem _i;
public decimal SumAssured;
}
…
string formula = "(_i.PremiumRate/100)*SumAssured";
var script = CSharpScript.Create<decimal>(formula, globalsType: typeof(Globals))
.CreateDelegate();
foreach (InsuredItem _i in p.InsuredItems)
{
_i.Premium = await script(new Globals { _i = _i, SumAssured = SumAssured });
}
答案 0 :(得分:0)
正如我的评论中所提到的,您应该使用i
修饰符,以使您的正则表达式不区分大小写。
你也应该改变你的思维过程,而不是禁止很多角色,你应该只允许你想要的角色:
$var = $var.replace(/([^A-Z0-9,])+/gi, '');
在这个例子中,我:
[^A-Z0-9,]
替换了您的长字符列表,这意味着任何非字母数字或非逗号字符 i
修饰符-
更新为
(空)