本文目录一览:
- 1、java解析字符串(解析sql语句,得到需要查询显示的字段名)。
- 2、java解析字符串
- 3、java解析字符串 算术表达式求值
- 4、java 解析json字符串
- 5、java字符串如何解析成能运行的java代码?
- 6、java 拼接字符和解析字符串
java解析字符串(解析sql语句,得到需要查询显示的字段名)。
我写一条把
String aa=''select "+f_spbm+" from 表1"
主要注意其中的空格 select 后面的, from前面的空格。。
第二条一样。。表不固定,字段也就不能固定,功能也就不能固定,一般编写都会将表固定的。
java解析字符串
package com;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
public class Yuma
{
private ListMap analysisConfig(String config)
{
String[] arr = config.split(";");
String reg = "([^\\(]+)(\\([^\\)]*\\))";
ListMap list = new LinkedListMap();
for(int i = 0; i arr.length; i++)
{
String tmp = arr[i];
MapString, String map = new HashMapString, String();
map.put(tmp.replaceAll(reg, "$1"), tmp.replaceAll(reg, "$2"));
list.add(map);
}
return list;
}
public static void main(String[] args)
{
String ruleConfig = "债券(0000,1200,1100);非标资产(0100);质押式回购(0123@质押式正回购,0123@质押式逆回购)";
Yuma yuma = new Yuma();
ListMap list = yuma.analysisConfig(ruleConfig);
System.out.println(list);
}
}
java解析字符串 算术表达式求值
Java 有一个jar包 叫 groovy
groovy可以实现动态执行 String格式的算数表达式
public static void main(String[] args) throws Exception{
String str1 = "1 + 2 * 3"; //表达式1 固定表达式
GroovyShell groovyShell = new GroovyShell();
Object value = groovyShell.evaluate(str1);
System.out.println(value);
String str2 = "A + B * C"; //表达式2 动态表达式
Binding binding = new Binding();
binding.setVariable("A",1); //表达式中 所有的A替换为1
binding.setVariable("B",2);//表达式中 所有的B替换为2
binding.setVariable("C",3);//表达式中 所有的C替换为3
GroovyShell groovyShell2 = new GroovyShell(binding);
Object value2 = groovyShell2.evaluate(str2); //str2 实际表达式为 1 + 2 * 3
System.out.println(value2);
}
java 解析json字符串
你好:
后台拆分json
private String interactPrizeAll; //json 使用字符串来接收
方法中的代码:
Gson gson = new Gson();
InteractPrize interactPrize =new InteractPrize();
//gson用泛型 转List数组 多个对象
ListInteractPrize interactPrizeList = gson.fromJson(interactPrizeAll, new TypeTokenListInteractPrize(){}.getType()); //TypeToken,它是gson提供的数据类型转换器,可以支持各种数据集合类型转换
for(int i = 0; i interactPrizeList.size(); i++)
{
interactPrize = interactPrizeList.get(i);//获取每一个对象
}
这一种方法是转单个对象时使用的
//gson 转对象 单个对象
//interactPrize = gson.fromJso(interactPrizeAll,InteractPrize.class);
这个方法是我后台拼的json往前台传的方法
jsonStrAll.append("{"+ "\""+"catid"+"\""+":"+"\""+c.getCatid()+"\""+","+"\""+"catname"+"\""+":"+"\""+c.getCatname()+"\""+","+ "\""+"catdesc"+"\""+":"+"\""+c.getCatdesc()+"\""+","+"\""+"showinnav"+"\""+":"+"\""+c.getShowinnav()+"\""+","+"\""+"sortorder"+"\""+":"+"\""+c.getSortorder()+"\""+","+"level:"+"\""+"0"+"\""+",parent:"+"\""+"0"+"\""+",isLeaf:true,expanded:false,"+"loaded:true},");
你自己挑着用吧!
java字符串如何解析成能运行的java代码?
java字符串如何解析成运行的java代码
有些情况下,不得不动态运行Java代码,以便提供更加灵活的方式,以下代码可参考(在JDK 1.5+平台上运行通过):
public static void main(String[] args) {
int i = 10;
String code = "System.out.println(\"Hello World!\"+(13+2*5/3));";
code += "for(int i=0;i" + i + ";i++){";
code += " System.out.println(Math.pow(i,2));";
code += "}";
try {
run(code);
} catch (Exception e) {
e.printStackTrace();
}
}
private synchronized static File compile(String code) throws Exception {
File file = File.createTempFile("JavaRuntime", ".java", new File(System.getProperty("user.dir")));
file.deleteOnExit();
// 获得类名
String classname = getBaseFileName(file);
// 将代码输出到文件
PrintWriter out = new PrintWriter(new FileOutputStream(file));
out.println(getClassCode(code, classname));
out.close();
// 编译生成的java文件
String[] cpargs = new String[] { "-d",
System.getProperty("user.dir") + "\\WebRoot\\WEB-INF\\classes",
file.getName() };
int status = Main.compile(cpargs);
if (status != 0) {
throw new Exception("语法错误!");
}
return file;
}
private static synchronized void run(String code) throws Exception {
String classname = getBaseFileName(compile(code));
new File(System.getProperty("user.dir")
+ "\\WebRoot\\WEB-INF\\classes\\" + classname + ".class")
.deleteOnExit();
try {
Class cls = Class.forName(classname);
Method main = cls.getMethod("method", null);
main.invoke(cls, null);
} catch (Exception se) {
se.printStackTrace();
}
}
private static String getClassCode(String code, String className) {
StringBuffer text = new StringBuffer();
text.append("public class " + className + "{\n");
text.append(" public static void method(){\n");
text.append(" " + code + "\n");
text.append(" }\n");
text.append("}");
return text.toString();
}
private static String getBaseFileName(File file) {
String fileName = file.getName();
int index = fileName.indexOf(".");
String result = "";
if (index != -1) {
result = fileName.substring(0, index);
} else {
result = fileName;
}
return result;
}
java 拼接字符和解析字符串
import java.util.ArrayList;
import java.util.List;
/**
* Created by Administrator on 2015/6/14.
*/
public class Test {
private static ListString infor;
static {
infor = new ArrayListString();
infor.add("流水号1");
infor.add("收款方帐号1");
infor.add("真实姓名");
infor.add("付款金额1");
infor.add("备注说明1");
infor.add("流水号2");
infor.add("收款方帐号2");
infor.add("真实姓名");
infor.add("付款金额2");
infor.add("备注说明2");
}
public static void main(String args[]) {
/**
* 开始拼接字符串
*/
String inforString = infor.get(0);
for (int i = 1, k = infor.size(); i k; i++) {
if (i % 5 == 0) {
inforString += "|";
} else {
inforString += "^";
}
inforString += infor.get(i);
}
System.out.println("拼接后的字符串是:" + inforString);
/**
* 开始解释字符串
*/
String[] usersInfor = inforString.split("\\|");
System.out.println(usersInfor.length);
User user;
String[] userString;
for (int i = 0, k = usersInfor.length; i k; i++) {
userString = usersInfor[i].split("\\^");
user = new User();
user.setId(userString[0]);
user.setGathering(userString[1]);
user.setName(userString[2]);
user.setPayment(userString[3]);
user.setRemark(userString[4]);
System.out.println("User" + i + "=" + user);
}
}
static class User {
private String id;
private String gathering;
private String name;
private String payment;
private String remark;
public User() {
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getGathering() {
return gathering;
}
public void setGathering(String gathering) {
this.gathering = gathering;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPayment() {
return payment;
}
public void setPayment(String payment) {
this.payment = payment;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
@Override
public String toString() {
return "[id:" + id + ",gathering:" + gathering + ",name:" + name + ",payment:" + payment + ",remark:" + remark + "]";
}
}
}