Discussion:
[問題] replaceAll問題
(时间太久无法回复)
阿傑
2007-07-05 05:06:32 UTC
Permalink
字串超過一個空白的全部取代成一個空白

EX:
aa bb cc
變成aa bb cc


消掉右誇號的左邊的空白

EX:
aa (bb (cc dd) (ee ff)
變成aa(bb(cc dd)(ee ff)


嘗試了很多次,我還是做不出來

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 125.225.82.247
Alien
2007-07-05 05:40:31 UTC
Permalink
※ 引述《iepiat (阿傑)》之銘言:
: 字串超過一個空白的全部取代成一個空白
: EX:
: aa bb cc
: 變成aa bb cc
: 消掉右誇號的左邊的空白
: EX:
: aa (bb (cc dd) (ee ff)
: 變成aa(bb(cc dd)(ee ff)
: 嘗試了很多次,我還是做不出來

regex 學一學該不難吧?
第一個 是 " +" replace 為 " "
第二個是 " +(" (還是 " +\(" 呢?) replace 為 "("

Alien

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 202.22.246.26
c***@kkcity.com.tw
2007-07-06 10:57:15 UTC
Permalink
Post by 阿傑
字串超過一個空白的全部取代成一個空白
aa bb cc
變成aa bb cc
消掉右誇號的左邊的空白
aa (bb (cc dd) (ee ff)
變成aa(bb(cc dd)(ee ff)
嘗試了很多次,我還是做不出來
String s="aa bb cc";
String s1="aa (bb (cc dd) (ee ff)";

Pattern p=Pattern.compile("\\s{2,}");
Pattern p1=Pattern.compile("\\s*\\(");
Matcher m=p.matcher(s);
Matcher m1=p1.matcher(s1);

System.out.println(s);
System.out.println(m.replaceAll(" "));
System.out.println(s1);
System.out.println(m1.replaceAll("("));

--
┌─────◆KKCITY◆─────┐ KK免/費/撥/接 ◤
│ bbs.kkcity.com.tw │▏電話(1):449◤1999 電話(2):4058-6000
└──《From:220.138.44.101 》──┘▏帳號:kkcity 密碼:kkcity
--

Loading...