我尝试在<%=和%>之间获取字符串,这是我的实现:
String str = "ZZZZL <%= dsn %> AFFF <%= AFG %>";
Pattern pattern = Pattern.compile("<%=(.*?)%>");
String[] result = pattern.split(str);
System.out.println(Arrays.toString(result));
Run Code Online (Sandbox Code Playgroud)
它回来了
[ZZZZL , AFFF ]
Run Code Online (Sandbox Code Playgroud)
但我的期望是:
[ dsn , AFG ]
Run Code Online (Sandbox Code Playgroud)
我错在哪里以及如何纠正它?
这个问题一直困扰着我很长一段时间,但基本上我正在寻找最有效的方法来获取两个字符串之间的所有字符串.
我已经做了好几个月的方式现在是通过使用一堆临时索引,字符串,子串,它真的很乱.(为什么Java没有本机方法,比如String substring(String start, String end)?
说我有一个字符串:
abcabc [pattern1]foo[pattern2] abcdefg [pattern1]bar[pattern2] morestuff
最终目标是输出foo和bar.(后来被添加到JList中)
我一直试图将正则表达式纳入其中.split()但尚未成功.我已经尝试使用*'s和.'s 语法,但我不认为这是我的意图,特别是因为.split()只需要一个参数来分裂.
否则我认为另一种方法是使用Pattern和Matcher类?但我对适当的程序非常模糊.
我如何"找到"和"获取"两个字符串之间的值?
即: <a>3</a>
我正在读取一个文件来找到<a>它的起始位置,然后它会在找到时停止读取</a>我想要返回的值是"3".
使用JRE 6