本文目錄一覽:
JAVA中如何解析字元串公式,並且利用公式進行計算
可以使用 commons-jexl3 jar包
示例:
public static void main(String[] args){
String expressionString = “1+2+3”;
JexlEngine jexlEngine = new JexlBuilder().create();
JexlExpression jexlExpression = jexlEngine.createExpression(expressionString);
Object evaluate = jexlExpression.evaluate(null);
System.out.println(evaluate);
}
結果: 6
示例2:
來個複雜點的
public static void main(String[] args){
// String expressionString = “1+2+3”;
String expressionString = “100*10-(200+300)”;
JexlEngine jexlEngine = new JexlBuilder().create();
JexlExpression jexlExpression = jexlEngine.createExpression(expressionString);
Object evaluate = jexlExpression.evaluate(null);
System.out.println(evaluate);
}
結果: 500
java 解析-字元串
import java.text.DecimalFormat;
public class StrTest {
public static String[] SpiltString(String str){
char[] allChars = str.toCharArray();
for(int i = 0 ; iallChars.length ; i++){
if(!( (allChars[i]=’0′ allChars[i]=’9′) || allChars[i]==’-‘ || allChars[i]==’,’) ){
System.out.println(“ERROR”);
throw new RuntimeException();
}
}
StringBuffer strArray = new StringBuffer();
String[] firstStr = str.split(“,”);
for(int i = 0 ; ifirstStr.length ; i++){
if(firstStr[i].indexOf(“-“) == -1){
strArray.append(firstStr[i]+” “);
}else{
String[] secondStr = firstStr[i].split(“-“);
try{
int min =Integer.valueOf( secondStr[0] );
int max =Integer.valueOf( secondStr[secondStr.length-1] );
int len = secondStr[0].length();
String newStr = null;
String formatStr = “00000000000000000000000000000000”;
for(int j = min;j=max;j++){
DecimalFormat df = new DecimalFormat(formatStr.substring(0,len));
newStr =df.format(j);
strArray.append(newStr+” “);
}
}catch(NumberFormatException e){
continue;
}
}
}
return strArray.toString().split(” “);
}
public static void main(String[] args) {
String [] str = SpiltString(“001,002-005,007”);
for(int i = 0 ; i str.length;i++){
System.out.print(str[i]+” “);
}
}
}
java解析json字元串 放到數組中
java解析json字元串時將大括弧中的對應為一個類,裡面的數據對應為類的屬性,最後用數組接受即可。
示例關鍵代碼如下:
//導入 net.sf.json.JSONArray和net.sf.json.JSONObject 兩個jar 包
String str = “[{name:’a’,value:’aa’},{name:’b’,value:’bb’},{name:’c’,value:’cc’},{name:’d’,value:’dd’}]” ; // 一個未轉化的字元串
JSONArray json = JSONArray.fromObject(str ); // 首先把字元串轉成 JSONArray 對象
if(json.size()0){
for(int i=0;ijson.size();i++){
JSONObject job = json.getJSONObject(i); // 遍歷 jsonarray 數組,把每一個對象轉成 json 對象
System.out.println(job.get(“name”)+”=”) ; // 得到 每個對象中的屬性值
}
}
原創文章,作者:S4WKC,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/127435.html