通过操作字符串创建函数语法 [英] Creating function syntax by manipulating string
问题描述
我正在尝试创建动态语法函数,函数语法如下:
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 = ");"
可以通过将prefix
和suffix
从string.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屋!