1
我有一個字符串,如「31.5 * q * L^2 + 831.5 * M」。我想將字符串轉換爲「\ num {31.5} q L^2 + \#N * {831.5} * M」。整體替換子字符串
在利亞,我已經嘗試:
str="31.5*q*L^2+831.5*M";
temp1=matchall(r"(\d*\.?\d+|\d+\.?\d*)",str);
str1=replace(str,temp1[1],"\\num\{"*temp1[1]*"\}");
然後我意想不到的結果: 「\ {NUM} 31.5 q L^2 + 8 \ {NUM 31.5} * M」。
這個問題的解決方案是什麼?
謝謝
正則表達式可能需要稍微擺弄一下才能得到所需的一組替換匹配。 –
太好了。您的解決方案可節省數小時的編碼。例如,當str爲「31.5 * q * L^2 + 831.5 * M-8.1/EI + 8.1 /(3 * a^2 + 1.5)」時,進一步改進將處理這種情況「 。它如下:對於每個匹配中的m(r「(?:^ | [\ + \ * \ - \(\])(\ d * \。?\ d + | \ d + \。?\ d *)」 STR,FALSE) –