读取没有空格的传入短信

时间:2012-07-12 08:50:17

标签: blackberry sms

以下代码读取传入的短信,然后打印邮件正文。如何让应用程序打印出消息,中间没有任何空格?

例如:传入的短信显示“我在这里”,所以“我在这里”打印出来,但我希望应用程序打印出“HereIam”。

我该怎么做?任何帮助都将非常感激。

这是我的代码:

public void run() {
 try {
 DatagramConnection _dc = (DatagramConnection)Connector.open("sms://"); 
   for(;;) { 
    Datagram d = _dc.newDatagram(_dc.getMaximumLength()); 
    _dc.receive(d); 
    byte[] bytes = d.getData();
    String address = d.getAddress(); 
    String msg = new String(bytes); 
    System.out.println(address);
    System.out.println(msg);
   } 

 }catch (Exception me) { 

 }
}

由于

2 个答案:

答案 0 :(得分:1)

试试这个

将此行添加到代码

System.out.println(replaceAll(msg," ",""));

同时添加此方法

  public static String replaceAll(String source, String pattern,
        String replacement) {
    if (source == null)
        return "";

    StringBuffer sb = new StringBuffer();
    int idx = -1;
    int patIdx = 0;

    while ((idx = source.indexOf(pattern, patIdx)) != -1) {
        sb.append(source.substring(patIdx, idx));
        sb.append(replacement);
        patIdx = idx + pattern.length();
    }

    sb.append(source.substring(patIdx));
    return sb.toString();
}

它用空字符串替换所有空格,这就是你想要的。

答案 1 :(得分:0)

使用String.replace()方法:

msg = msg.replace("\s+", "");