全部,
這似乎是相當簡單但卻極其令人沮喪的任務。 如何替換字符串中的引號。
假設我有以下列(Inv 01、Inv 02 ... 第 26 期)。
因此,我獲取了列名稱並構建瞭如下條件:
Stmt = "";
for(i = 1, i <= N Items(InvColNames), i++,
If(i == 1,
Stmt = ":" || InvColNames[i] || " >= 1 &" || ":" || InvColNames[i] || " <= InvLimit" ;
,
Stmt = Stmt || " & " || ":" || InvColNames[i] || ">= 1 &" || ":" || InvColNames[i] || " <= InvLimit" ;
) ;
);
":Inv 01 >= 1 &:Inv 01 <= InvLimit & :Inv 02>= 1 &:Inv 02 <= InvLimit & :Inv 03>= 1 &:Inv 03 <= InvLimit" Stmt = Substitute(Stmt, "\!"", "");
InvStatusExpr = Expr(dt_Inp << New Column("Status_Inv",Numeric,Continuous,Formula(Expr(Stmt))));
Eval(Eval Expr(InvStatusExpr));我希望他們使用我構建的條件作為表達式並定義一個條件。 但問題在於其當前的形式,因為我構建的“Stmt”用雙引號括起來,所以它被評估為字符串,並且我構建的語句被填充到新列中。
如果有人可以向我展示一種簡單的方法來替換字符串中的雙引號並使其正常工作,我將不勝感激。

最好的
烏代
Eval( Parse( Eval Insert( 當你真的陷入困境時,它會讓你擺脫困境,但應該是最後的手段,因為代碼很難調試。
基本上,您是將字符串作為文本插入到所需的 JSL 中,然後評估 JSL。^^ 告訴插入命令在哪里工作。
Eval( Parse( Eval Insert("\[ dt_Inp << New Column("Status_Inv",Numeric,Continuous,Formula(^Stmt^)); ]\" ) ) );這稱為動態 JSL,它的功能非常強大。