java中怎么截取 固定字符串中间的字符串

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中怎么截取 固定字符串中间的字符串相关的知识,希望对你有一定的参考价值。

如:<li class="w22"><a href="/dict/dict--35-04-1--1.html" class="blue xhx">35-04-1</a></li> 只想得到35-04-1 要怎么截取啊??高手说下啊。。。
给写下具体的实现。。谢谢了

File file=new File("E:/abc/1.txt");//源文件位置
FileReader fr=new FileReader(file);//创建文件输入流
BufferedReader in=new BufferedReader(fr);//包装文件输入流,可整行读取
String input;
while((input=in.readLine()) != null)

String regex="class=\"blue xhx\">(\\d+[.]\\d+)</a></li>";
Pattern pattern=Pattern.compile(regex);

Matcher matcher=pattern.matcher(input);

while(matcher.find())
System.out.println(matcher.group(1));


固定的只有 class="blue xhx">XXXX</a></li> 我需要的是XXXX 的信息 不可以根据长度来截取。。。
我的不知道为什么出不来。。高手解决下。。。急。。。

可以通过java的”substring“方法截取出对应的字符串,前提是知道开始和结束的字符串的值:
String getSignInfo = reqResult.substring(reqResult.indexOf("<sign>") + 6, reqResult.indexOf("</sign>"));
解释:上述方法就是截取reqResult字符串的中开始”<sign>“和结束”</sign>“中间部分的内容,”6“就是”<sign>“的长度,,之后将获取的结果赋值给”getSignInfo进行输出即可“;
备注:以上方法通用于截取字符串,数字”6“和开始结束字符串根据实际需要修改即可。
参考技术A 要用正则吗? 如果是截取固定字符串中间的字符串,不用那么麻烦把?
固定字符串的话你应该知道它是什么把?
很简单啊,给你个main方法看看:
public static void main(String[] args)

String s="<li class=\"w22\"><a href=\"/dict/dict--35-04-1--1.html\" class=\"blue xhx\">35-04-1</a></li>";
String s1="<li class=\"w22\"><a href=\"/dict/dict--35-04-1--1.html\" class=\"blue xhx\">";
String s3="</a></li>";
System.out.println(s.substring(s1.length(),s.length()-s3.length()));
本回答被提问者采纳
参考技术B 正则表达式

PHP语法 截取显示指定字符串中两个字符中间的内容

字符格式如下:
前面不规则/?y=%u597D&m=%u554A&h=%20后面不规则
要提取 y= 到 &m= 中间的内容,就是 %u597D
最后显示时是把 %u597D 转码,用汉字显示
请高手赐教!

参考技术A <?php
function unescape($str)
$str = rawurldecode($str);
preg_match_all("/%u.4|&#x.4;|&#d+;|.+/U",$str,$r);
$ar = $r[0];
foreach($ar as $k=>$v)
if(substr($v,0,2) == "%u")
$ar[$k] = mb_convert_encoding(pack("H4",substr($v,-4)),"gb2312","UCS-2");
elseif(substr($v,0,3) == "&#x")
$ar[$k] = mb_convert_encoding(pack("H4",substr($v,3,-1)),"gb2312","UCS-2");
elseif(substr($v,0,2) == "&#")
$ar[$k] = mb_convert_encoding(pack("H4",substr($v,2,-1)),"gb2312","UCS-2");


return join("",$ar);


$str = '/?y=%u597D&m=%u554A&h=%20';
$query = parse_url($str,PHP_URL_QUERY);
parse_str($query);
echo unescape($y);
?>本回答被提问者采纳
参考技术B $str="/?y=%u597D&m=%u554A&h=%20";
$result="";
if(preg_match('#y=(.+)&m=#isU',$str,$ma))$result=unescape($ma[1]);
echo $result;
function unescape($str)
$str = rawurldecode($str);
preg_match_all("/(?:%u.4)|.+/",$str,$r);
$ar = $r[0];
foreach($ar as $k=>$v)
if(substr($v,0,2) == "%u" && strlen($v) == 6)
$ar[$k] = iconv("UCS-2","GB2312",pack("H4",substr($v,-4)));

return join("",$ar);
参考技术C 你这个应该是对url 的拆分,拆倒是能拆。不过意义不大啊

以上是关于java中怎么截取 固定字符串中间的字符串的主要内容,如果未能解决你的问题,请参考以下文章

java怎么截取字符串?

如何在laravel中截取字符串

java的subString,可以截取指定字符到该行的末尾吗?

java 获取指定截取字符串

php 在smarty里怎么截取字符串?

PHP怎么用substr函数截取字符串中的某部分