通过操作字符串创建函数语法 [英] Creating function syntax by manipulating string

查看:95
本文介绍了通过操作字符串创建函数语法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试创建动态语法函数,函数语法如下:

I am trying to create dynamic syntax function and function syntax is like below:

MyFunction( arg1,arg2,ar3.....);

我有这样的字符串:

str = Previousvalue.Value1,Previousvalue.Value2

现在,我想在最终变量中创建如下语法:

Now I would like to create syntax like this in final variable :

String final = MyFunction(Previousvalue.Value1,',',Previousvalue.Value2);

str = Previousvalue.Value1,Previousvalue.Value2,Previousvalue.Value3;
String final = MyFunction(Previousvalue.Value1,',',Previousvalue.Value2,',',Previousvalue.Value3);

这是我尝试使用string.join实现的方式(不使用循环),但没有得到如何做的方法,而且如果不使用循环,这似乎是不可能的:

This is how I am trying to achieve with string.join (without using loop) but not getting how to do it and this seems like impossible to do without using loop:

final =  string.Join("MyFunction(", str.Split(','));

案例1:

Input : string str =Previousvalue.Value1,Previousvalue.Value2

输出:

string final=MyFunction(Previousvalue.Value1,',',Previousvalue.Value2,',',Previousvalue.Value3);

案例2:

Input : str = Previousvalue.Value1,Previousvalue.Value2,Previousvalue.Value3;

输出:

String final = MyFunction(Previousvalue.Value1,',',Previousvalue.Value2,',',Previousvalue.Value3);

案例3:

string input = " Previousvalue.Value1";

输出:

String final = Previousvalue.Value1; //No function

推荐答案

据我了解,您想生成一个字符串,如下所示:

From what I understand, you want to generate a string like this:

"MyFunction(Previousvalue.Value1,',',Previousvalue.Value2);"
 ^..........^...................^....^...................^.
 prefix     arg1                sep  arg2                suffix

或换句话说

prefix = "MyFunction(";
separator = ",',',";
suffix = ");"

可以通过将prefixsuffixstring.Join中移出并使用上面的separator值来实现:

which can be achieved by moving the prefix and suffix out of the string.Join and using the above separator value:

string final = "MyFunction(" + string.Join(",',',", str.Split(',')) + ");";

也可以使用string.Replace代替Split/Join:

string final = "MyFunction(" + str.Replace(",", ",',',") + ");";

这篇关于通过操作字符串创建函数语法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆