簡體   English   中英

java中的ruby gsub函數,replaceAll也許?

[英]ruby gsub function in java, replaceAll maybe?

我一直試圖翻譯這個

    funcFormat = funcFormat.gsub(/sqrt\((.*)\)/,'Math.sqrt(\1)')

在java中

    funcFormat = funcFormat.replaceAll("sqrt((.*))","Math.sqrt($1)"); 

或者有什么方法可以將數學格式化為文本?例如:

2x ^ 2sqrt(x ^ 3/2)到2xpow2sqrt(xpow3 / 2)

謝謝你,順便說一句,我是這個網站的新手。

您可以使用以下表達式:

funcFormat = funcFormat.replaceAll("sqrt\\(([^)]*)\\)", "Math.sqrt($1)");

雖然看起來你不需要這里的正則表達式。 一個簡單的

funcFormat = funcFormat.replace("sqrt", "Math.sqrt");

似乎也適合你的情況。

雖然給出的例子並不真正需要正則表達式,但我的確如此 如果你確實需要一個正則表達式,你正在尋找的方法是String.replaceAll (正如你所提到的)。 Ruby的String#sub對應的java版本是String.replaceFirst

綜上所述:

              Ruby              |               Java
---------------------------------------------------------------------------------------
String#sub (regex, replacement) | String.replaceFirst(String regex, String replacement)
String#gsub(regex, replacement) | String.replaceAll  (String regex, String replacement)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM