在字符串中的连续数字后插入字符串

时间:2015-09-26 02:14:16

标签: c# string unity3d logic unityscript

我使用Unity和UnityScript中的答案,特别是C#会有所帮助。我使用eval()制作计算器,我需要使用^

的指数

我想采取:

1+2^

并将^替换为,,并在Mathf.Pow(后面插入2

即使在" 2"有一个以上的数字。

需要成为:

1+Mathf.Pow(2, 
//Mathf.Pow is exponents using 2 parameters

现在,当用户输入3时,它变为1+Mathf.Pow(2,3。我已经知道当用户键入非数字时如何添加)

1 个答案:

答案 0 :(得分:2)

只需替换插入即可。

function Start () 
{    
var s : String = "1+1245^6+3";
var MathString : String = "Mathf.Pow(";
var MathString1 : String = ")";
var strResult : String  = "";
var j : int;
s = s.Replace('^', '.');

for( var i=0; i< s.length; i++)
{
  if(s[i]=='+' || s[i]=='-' || s[i]=='/')   
    j=i;        
  if(s[i]=='.')
  {
     strResult = s.Insert((i+2), MathString1 );
     s= strResult;
     print(j);
     strResult = s.Insert((j+1), MathString );
  } 
 }
 print(strResult);// 1+Mathf.Pow(1245.6)+3
}