以下代码读取传入的短信,然后打印邮件正文。如何让应用程序打印出消息,中间没有任何空格?
例如:传入的短信显示“我在这里”,所以“我在这里”打印出来,但我希望应用程序打印出“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) {
}
}
由于
答案 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+", "");