如何截取<title><title>之间的字符串,高手进
select SUBSTRING('hello@163com',1,charindex('@','hello@163com')-1)
从一个指定字符串的指定位置截取制定长度的字符;
第一个参数表示被截取的字符串;
第二个参数表示要在第一个参数中开始截取的位置;
第三个参数表示要截取的长度。
例如:select substring('abc123',1,2) →返回ab
从字符串‘abc123’的第一个字符开始截取,共截取两个字符,最后得到‘ab’。
2charindex(字符串表达式1,字符串表达式2[,整数表达式]):
在字符串2中查找字符串1,如果存在返回第一个匹配的位置,如果不存在返回0。如果字符串1和字符串2中有一个是null则返回null。
可以指定在字符串2中查找的起始位置。
例如:select charindex('ab','BCabTabD') → 返回3
select charindex('ab','BCabTabD',4) →返回6
二、用到的函数:left(' ', )、charindex(' ',' ')
select LEFT('hello@163com',charindex('@','hello@163com')-1)
1left(字符串表达式,整数表达式):
从字符串表达式的最左边开始截取整数表达式个字符。
例如:select left('abcdef',3) →返回abc
截取空格之前的数据 =left(A1,FIND(" ",A1)-1) 截取空格之后的数据 =mid(A1,FIND(" ",A1),20) 我假设截取第一个空格后面20位,这可以根据自己实际情况操作。
问题补充:那么如果一个content中有多个<a href=""/>
===================================================
String "" 号不能重复,我改成'' 如下:
String str3="2222<a href='XXX'/>阿瑟打碎<a href='MMM'/>ASDDAS<a href='EEE'/>呵呵<a name='a1' href='hehehtml'/>哈哈";
String[] temp=str3split("<a ");
List temp2=new ArrayList();
for (int i = 0; i < templength; i++) {
if (temp[i]indexOf("href='")>=0) {
String result=temp[i]substring(temp[i]indexOf("href='")+6,temp[i]indexOf("'/>"));
Systemoutprintln(result);
temp2add(result);
}
}
for (int i = 0; i < temp2size(); i++) {
Systemoutprintln(temp2get(i));
}
===================================================
中间的加6、加8、加21 是<body>,<table>,<div class='content'>的长度,有的雅但可以解决你的问题:
public static void main(String[] args) {
String str="aaaaaaaa<body>bbbbbbbbbb</body>";
Systemoutprintln(strsubstring(strindexOf("<body>")+6,strindexOf("</body>")));
String str1="ddddddddddddddd<table>ccccccccccc</table>";
Systemoutprintln(str1substring(str1indexOf("<table>")+8,str1indexOf("</table>")));
String str2="eeeeeeeeeeeee<div class='content'>ffffffffffffffffffff</table>ggggggggg</table>";
Systemoutprintln(str2substring(str2indexOf("<div class='content'>")+21,str2indexOf("</table>")));
}
结果:
bbbbbbbbbb
cccccccccc
ffffffffffffffffffff
indexOf
public int indexOf(String str)返回第一次出现的指定子字符串在此字符串中的索引。返回的整数是
thisstartsWith(str, k)
为 true 的最小值 k。
参数:
str - 任意字符串。
返回:
如果字符串参数作为一个子字符串在此对象中出现,则返回第一个这样的子字符串的第一个字符的索引;如果它不作为一个子字符串出现,则返回 -1。
-------------------------
substring
public String substring(int beginIndex,
int endIndex)返回一个新字符串,它是此字符串的一个子字符串。该子字符串从指定的 beginIndex 处开始,一直到索引 endIndex - 1 处的字符。因此,该子字符串的长度为 endIndex-beginIndex。
示例:
"hamburger"substring(4, 8) returns "urge"
"smiles"substring(1, 5) returns "mile"
参数:
beginIndex - 开始处的索引(包括)。
endIndex - 结束处的索引(不包括)。
返回:
指定的子字符串。
抛出:
IndexOutOfBoundsException - 如果 beginIndex 为负,或 endIndex 大于此 String 对象的长度,或 beginIndex 大于 endIndex。
1、本次演示使用的软件为Excel电子表格,软件版本为Microsoft office家庭和学生版2016。
2、首先打开Excel电子表格,并在a1单元格中输入用于演示提取部分特定文字的数据。
3、在b1单元格中使用函数“MID”进行指定部分文本的提取操作,该函数中的参数分别为源数据单元格,截取位置,截取长度。
4、函数输入完成后,单击回车可以看到已经得到想要的姓名了,同样的使用该函数对其他部分特定文字进行提取即可。
0条评论