0

次のコードは、着信SMSを読み取り、メッセージの本文を出力します。アプリでメッセージを間にスペースを入れずに印刷するにはどうすればよいですか?

例:着信SMSは「HereI am」と表示されるため、「Here I am」が出力されますが、アプリに「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) { 

 }
}

ありがとう

4

2 に答える 2

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();
}

すべてのスペースを空の文字列に置き換えます。これが必要です。

于 2012-07-12T09:01:53.047 に答える
0

String.replace()メソッドを使用します。

msg = msg.replace("\s+", "");
于 2012-07-12T08:57:57.220 に答える