有這樣一段字串: var p='xxxx'
怎樣用java去獲取到p的值,也就是xxxx
剛學java,向大家請教。
uj5u.com熱心網友回復:
String value = "var p='xxxx'".split("=")[1].replaceAll("'","");uj5u.com熱心網友回復:
String value = "var p='xxxx'".split("=")[1].trim().replaceAll("'","");
uj5u.com熱心網友回復:
org.apache.commons.lang3.StringUtils.substringBetween(value, "'", "'")uj5u.com熱心網友回復:
第一種:如#2,先用split以等號切割,然后拿到‘xxxx’,在將雙引號用空代替,得到xxxx;第二種:如#3,通過工具包直接截取兩個單引號之間的內容;
第三種:最笨的:字串轉化成字符資料,然后拿到第幾個到第幾個之間的內容(需要知道開始的位置,結束的位置話,長度-2就可以)。
uj5u.com熱心網友回復:
public class test5 {
public static void main(String[] args) {
// TODO Auto-generated method stub
String s = "var p='xxxx'";
System.out.println(s.substring(s.indexOf("p='")+3, s.indexOf("'", s.indexOf("p='") + 3)));
}
}
uj5u.com熱心網友回復:
public static void main(String[] args) throws Exception {javax.script.ScriptEngineManager sem = new javax.script.ScriptEngineManager();
javax.script.ScriptEngine scriptEngine = sem.getEngineByName("js");
javax.script.ScriptContext ctx = new javax.script.SimpleScriptContext();
scriptEngine.eval("var p = 'hello world!'", ctx);
String str = String.valueOf(ctx.getAttribute("p"));
System.out.println(str);
}
輸出:hello world!
uj5u.com熱心網友回復:
java可以執行javascript的,百度搜搜就知道了
uj5u.com熱心網友回復:
用正則for example
String s = "var p = `xxxx`";
String reg = "^.*?\s*=\s*(.*?)\s*$";
String v = s.replaceAll(reg, "$1") ;
uj5u.com熱心網友回復:
java里有javascript的執行引擎,你可以直接執行這個代碼的uj5u.com熱心網友回復:
你可以參考我的這個博文來試試能不能滿足你的需求https://blog.csdn.net/sinat_21925975/article/details/86770173uj5u.com熱心網友回復:
String s = new String("var p='xxxx'");System.out.print(s.substring(7,s.length()-1));
uj5u.com熱心網友回復:
我覺得只是一個句子就沒必要用正則運算式了uj5u.com熱心網友回復:
String value = "var p='xxxx'".split("=")[1].replaceAll("'","");
uj5u.com熱心網友回復:
1樓寫的??,??!uj5u.com熱心網友回復:

uj5u.com熱心網友回復:
不會出錯的方法:腳本引擎執行javaScript代碼
https://blog.csdn.net/mr_foxsand/article/details/103743585。
字串決議獲取,除非你格式固定,否則一定存在耦合性的問題!
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/124621.html
標籤:Java SE
上一篇:大佬給看看
下一篇:這個程式怎么打
