Mapreduce中对一行字符串的解析,"||"怎么替换

Dino系我 2015-05-07 10:13:13

import java.util.StringTokenizer;

public class Test {
public static void main (String args[]){
String line = "2014-12-16 01:52:56.699462|33.60.216.98|17124|218.30.118.6|53||request|.profile3.se.360.cn||";
line =formatString(line,"|");
System.out.println(line+" "+line.indexOf("||")+" "+line.contentEquals("||"));
StringTokenizer st= new StringTokenizer(line,"|");
for(int i=0;st.hasMoreElements();i++){
System.out.println(i+" "+st.nextToken());
}

}
public static String formatString(String str,String prefix){
if(str.startsWith(prefix))
str="#"+str;
if(str.endsWith(prefix))
str=str+"#";
String regex=prefix+prefix;

if(str.indexOf(regex)!=-1){
str.replaceAll(regex, "|%|");
}
return str;
}
}

请问方法formatString中对“||”这种没有替换成功要怎么解决,推测是“||”被解析成了运算符。
准备在Map端解析的,所以先测试了一下截取结果,发现是这样的
但我希望结果是这样的
求大家指教
...全文
211 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Dino系我 2015-05-14
  • 打赏
  • 举报
回复
引用 1 楼 ProgrammingPower 的回复:
\ | \\ | ? 试试
谢啦 我已经解决了
曹宇 2015-05-13
  • 打赏
  • 举报
回复
\ | \\ | ? 试试

20,808

社区成员

发帖
与我相关
我的任务
社区描述
Hadoop生态大数据交流社区,致力于有Hadoop,hive,Spark,Hbase,Flink,ClickHouse,Kafka,数据仓库,大数据集群运维技术分享和交流等。致力于收集优质的博客
社区管理员
  • 分布式计算/Hadoop社区
  • 涤生大数据
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧