1.写一段正则表达式:匹配出<a></a>中有值的链接,但不包括空格和“ ;”
字符串如下:
“<a href=”http://www.abc.com”>这个有值<br /></a><a href=”http://www.aaa.com”> </a><a href=”http://www.aaa.com”> </a><a href=”http://www.aaa.com”></a>”
处理结果如下:
“<a href=”http://www.abc.com”>这个有值<br /></a>”
2. 处理一段字符串,将字符串中重复的记录去掉,并组成新的字符串。字符串内容如下:
“aspnet开发,国内旅游,景点a,123,aspnet开发,提供,景点a,123”
注意:以逗号为分隔符,考虑效率(也可以用正则)
处理结果如下:
“aspnet开发,国内旅游,景点a,123,提供,”
3.如何保障平台的运行速度.,从代码到数据库,写写你的想法。
字符串如下:
“<a href=”http://www.abc.com”>这个有值<br /></a><a href=”http://www.aaa.com”> </a><a href=”http://www.aaa.com”> </a><a href=”http://www.aaa.com”></a>”
处理结果如下:
“<a href=”http://www.abc.com”>这个有值<br /></a>”
2. 处理一段字符串,将字符串中重复的记录去掉,并组成新的字符串。字符串内容如下:
“aspnet开发,国内旅游,景点a,123,aspnet开发,提供,景点a,123”
注意:以逗号为分隔符,考虑效率(也可以用正则)
处理结果如下:
“aspnet开发,国内旅游,景点a,123,提供,”
3.如何保障平台的运行速度.,从代码到数据库,写写你的想法。
第2题:String sampleStr = "aspnet开发,国内旅游,景点a,123,aspnet开发,提供,景点a,123";
String [] tempStr = sampleStr.spilt(",");
StringBuilder result = new StringBuilder();
for (int i = 0 ; i <= tempStr.length; i ++) {
for (int j = i ; i <= tempStr.length; j++ ){
if (!tempStr[i].equal(tempStr[j])) {
result.append(tempStr[i]);
result.append(",");
}
}
}第3题:
这个问题好难回答.......范围太广....
3个问题只能做1个,惭愧.....
String s1 = "<a href=\"http://www.abc.com\">这个有值 <br /> </a> <a href=\"http://www.aaa.com\"> </a> <a href=\"http://www.aaa.com\"> </a> <a href=\"http://www.aaa.com\"> </a>";
Pattern p = Pattern.compile("(<a .+?>(.+?)</a>)");
Matcher m = p.matcher(s1);
while(m.find()){
String tmp = m.group(2).trim();
if(tmp.length() == 0){
continue;
}
else if(tmp.startsWith(" ")){
continue;
}
System.out.println(m.group(1));
}
2、 String s = "aspnet开发,国内旅游,景点a,123,aspnet开发,提供,景点a,123";
Set<String> set = new HashSet<String>();
int i = 0;
int j = s.indexOf(",");
j = j ==-1 ? s.length() -1 : j;
do{
String tmp = s.substring(i, j).trim();
set.add(tmp);
i = j +1;
j = s.indexOf(",",i);
}while(i<j);
for(String t : set){
System.out.println(t);
}3、要保证运行性能,最主要的方面要看架构,数据结构和所使用的算法,光从代码上提升不了多少性能
Set<String> set = new HashSet<String>();
String[] strs=s.split(",");
for(int i=0;i<strs.length;i++)
{
set.add(strs[i]);
}
for(String t : set){
System.out.println(t);
}
不能保证顺序和原来一致,用LinkedHashSet更合适
不知道split的时间复杂度是多少……
嘿嘿,空手打的嘛。。有错难免,第2个for 是j <= tempStr.length; 不是i