在Java和PHP中如何分割字符串

3

我的logcat中有一个字符串,内容如下:

24:John Smith
    Contact Number: 999999999
    Customer Address: Texas 47
    Store: Subway
    Time Frame: 4:00pm - 5:00pm
    Request: One sandwhich
    SMS ID: 2493
    Job Submitted at: 2015-03-14 18:27:45

我用以下代码将SMS ID分配给了一个字符串变量smsCode:

smsCode = str.split("SMS ID: ")[1].split("Job Submitted at: ")[0];

在我的日志中,它显示smsCode等于2493。然而,当我将变量传递给PHP时,它不起作用。这可能是由于空格的原因。我已经使用了smsCode.trim(),但它也不起作用。

如果我输入实际值而不是变量,它就会起作用:

nameValuePairs.add(new BasicNameValuePair("smsCode", "2493"));

当变量如下时,它并不起作用。

nameValuePairs.add(new BasicNameValuePair("smsCode", smsCode));
3个回答

1

试试这个:

smsCode = str.split("SMS ID: ")[1].split("Job Submitted at: ")[0].replaceAll("\\r|\\n", "");

1
问题在于您在第一个示例中使用硬编码值时,实际上只传递了该文本值。
在第二个示例中,使用变量smsCode实际上不包含您认为它包含的值,在文本的前几行中 - 此时smsCode实际上具有2493\n的文本值。
尝试按照已建议的方式操作,并在第二次拆分之前添加\n以删除该额外的换行符。

0

试试这个?

smsCode = str.split("SMS ID: ")[1].split("\nJob Submitted at: ")[0];

2
请在发布代码片段时,附上一些解释说明你修复了什么或者这个代码是如何工作的,而不仅仅是贴上一段代码。 - ssube

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接