如何从遵循特定格式的字符串中删除未知字符?

时间:2014-07-09 08:46:22

标签: java regex string replace

我有这种格式的字符串:&?0907141|somename|5009-07-2014|sample

我想要做的就是从上面的String格式中删除50,但数字可能不仅仅是50,我不能按索引位置,因为文本" somename"可能会更改为其他内容,但String将始终采用与上面相同的格式。 如何以最简单的方式删除它?

4 个答案:

答案 0 :(得分:1)

试试这个

String.replaceAll ("\\|[0-9]{2}", "|");

它将用管道替换管道和2位数

答案 1 :(得分:1)

这将在第二个管道后删除两个字符。

String s = "&?0907141|somename|5009-07-2014|sample";
System.out.println(s.replaceFirst("(.*\\|.*\\|)..(.*\\|.*)", "$1$2"));

答案 2 :(得分:0)

1. String[] arr= `String#split()` on `|`
2. use replace() / regex etc on  arr[2].
3. Code..

答案 3 :(得分:0)

String s = "&?0907141|somename|5009-07-2014|sample";
String splits[] = s.split("\\|");

s = splits[0] + "|" + splits[1] + "|" + splits[2].substring(2) + "|" + splits[3];