【正则?】java字符串处理

苦苦的潜行者 2011-08-20 09:36:49
还是昨天说的公司的jsp业务,有兴趣的可以去看看我昨天的帖子
今天又提出个小的要求,就是把出现"|"的字符串的"|"前后空格去掉。
(这些字符串都经过去多空格处理,所以不会出现连续多个空格)
大体的原数据类似如
"abc | abc" "123 |abc" "abc| 456" "ab cd | abc" "ab cd | ab cd" 等等

我需要只去掉紧挨着"|"前后的空格,处理的后的格式为
"abc|abc" "123|abc" "abc|456" "ab cd|abc" "ab cd|ab cd"

是不是又要用到正则还是怎么滴,哎,等我忙完这个作业,我一定去好好学java基础和正则,
我表示基础不牢,压力很大啊。
...全文
81 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
苦苦的潜行者 2011-08-20
  • 打赏
  • 举报
回复

各种大神此起彼伏,羡慕嫉妒恨...

10楼加你好友了,昨天你就一直关注我,倍感光环笼罩啊...


等下午结贴。



-----------------------------
...
剑神一笑 2011-08-20
  • 打赏
  • 举报
回复
s= s .replaceAll("\\s*\\|\\s*", "|");
hq333 2011-08-20
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 hairui1985 的回复:]
用split(),然后分解的每一个字符串用trim()处理,然后再连接起来。这个方法应该好些,replace太局限。
[/Quote]查了查,java的replace不支持正则,灵活性确实不够,用replaceAll:
public class Test{
public static void main(String[] args){
String str = "abc | abc 123 |abc abc| 456 ab cd | abc ab cd | ab cd";
str = str.replaceAll(" ?\\| ?", "|");
System.out.print(str);
}
}
hairui1985 2011-08-20
  • 打赏
  • 举报
回复
用split(),然后分解的每一个字符串用trim()处理,然后再连接起来。这个方法应该好些,replace太局限。
hq333 2011-08-20
  • 打赏
  • 举报
回复
正则" ?\\| ?",如会多个空格,用* 代替 ?
苦苦的潜行者 2011-08-20
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 kiss601459202 的回复:]
For Example:

Java code
String strt = "abc| 456";
strt = strt.replace(" | ", "|").
replace(" |", "|").
replace("| ", "|");
System.out.println(str……
[/Quote]


膜拜!好犀利。求灌注,求爆菊..




-----------------------------
...
kiss601459202 2011-08-20
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 xiaolinyouni 的回复:]

我了个去,你回答这么快,我还想改改呢,字符串中的"|"可能不止一个。

------------------------
我晕,想到怎么处理了。
用split(),然后分解的每一个字符串用trim()处理,然后再连接起来。哎,死脑筋死脑筋,看来这几天真是忙头晕脑胀的了。

1楼这分就给你吧,



-----------------------------
我是猴嫂派来监视……
[/Quote]


String strt = "abc | abc 123 |abc abc| 456 ab cd | abc ab cd | ab cd";
strt = strt.replace(" | ", "|").
replace(" |", "|").
replace("| ", "|");
System.out.println(strt);
kiss601459202 2011-08-20
  • 打赏
  • 举报
回复
For Example:
String strt = "abc| 456";
strt = strt.replace(" | ", "|").
replace(" |", "|").
replace("| ", "|");
System.out.println(strt);
苦苦的潜行者 2011-08-20
  • 打赏
  • 举报
回复
我了个去,你回答这么快,我还想改改呢,字符串中的"|"可能不止一个。

------------------------
我晕,想到怎么处理了。
用split(),然后分解的每一个字符串用trim()处理,然后再连接起来。哎,死脑筋死脑筋,看来这几天真是忙头晕脑胀的了。

1楼这分就给你吧,



-----------------------------
...
kiss601459202 2011-08-20
  • 打赏
  • 举报
回复
你这个只要 String.replace(" | " , "|") String.replace(" |" , "|") String.replace("| " , "|")
安心逍遥 2011-08-20
  • 打赏
  • 举报
回复
字符串有替换的,可以把空格替换成“”,这样就可以了
具体什么,想不起来了,楼主百度一下

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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