小编apa*_*che的帖子

String.split()处于元字符+

我正在制作一个简单的程序来处理方程式的String输入中的方程式当我运行它时,我得到一个例外,因为我试图用"+"替换"+"所以我可以分割字符串在空间.我应该如何使用

字符串replaceAll方法来替换这些特殊字符?以下是我的代码

线程"main"中的异常java.util.regex.PatternSyntaxException:在索引0附近悬挂元字符'+'+ ^

 public static void parse(String x){
       String z = "x^2+2=2x-1";

       String[] lrside =  z.split("=",4);
       System.out.println("Left side: " + lrside[0] + " / Right Side: " + lrside[1]);
       String rightside = lrside[0];
       String leftside = lrside[1];

       rightside.replaceAll("-", " -");
       rightside.replaceAll("+", " +");
       leftside.replaceAll("-", " -"); leftside.replaceAll("+", " +");
       List<String> rightt = Arrays.asList(rightside.split(" "));
       List<String> leftt = Arrays.asList(leftside.split(" "));

       System.out.println(leftt);
       System.out.println(rightt);
Run Code Online (Sandbox Code Playgroud)

java string special-characters

33
推荐指数
1
解决办法
5万
查看次数

C阵列分段仅在某个阈值之后才出现故障

我正在看这个简单的程序.我的理解是,尝试修改超出最大索引的内存地址的值应该导致分段错误.但是,以下代码运行没有任何问题.我甚至能够打印出所有6个数组索引0-> 6

main()
{
  int i;
  int a[3];

  for(i=0; i<6; i++)
        a[i] = i;

}
Run Code Online (Sandbox Code Playgroud)

但是,当我将for循环更改为

for(i=0; i<7; i++)
Run Code Online (Sandbox Code Playgroud)

并执行该程序,它将是段错误.这几乎在我看来它是由malloc完成的某种额外填充.为什么这只发生第6个索引(s + 6)之后?更长/更短的阵列会发生这种行为吗?请原谅我是愚蠢的低级程序员:)

c arrays segmentation-fault

2
推荐指数
1
解决办法
143
查看次数

Java替换空格

无论我似乎尝试什么,用输入替换白色空间

2x= -3
Run Code Online (Sandbox Code Playgroud)

将导致字符串被截断为2x =.

public void parseEquation(String x){
    String adf = x;
    String z = adf.replaceAll("\\s","");
    System.out.println(z);
}
Run Code Online (Sandbox Code Playgroud)

第一行是我的输入,下一行是我的输出

失败

java whitespace

1
推荐指数
1
解决办法
527
查看次数

在Java中将HTML解析为Hashmap

我正在尝试使用google voice api创建一个java应用程序,并且获取SMS数据和convos的方法会返回一个像这样的整个html页面

http://pastebin.com/tjZeHERa

我编写了一个SMSMessage类,它将HTML作为String接收,并将解析标记之间的第一个消息数据,但它使用的是arrayList而不是Hashmap.

package gv;
import java.util.*;
import java.util.regex.*;

public class SMSMessage {

   protected String id;
   protected String phoneNumber;
   protected String displayNumber;
   protected String message;
   protected String startTime;
   protected String displayStartDateTime;
   protected boolean isRead;
   protected String messageText;

public SMSMessage(String x){

    parse(TruncateFirstMessage(x));
    parseresponse(x);

}
    public String TruncateFirstMessage(String xml){

       int firstbracket = xml.indexOf("{");
       //int secondbracket = xml.indexOf("{", firstbracket - 1);
       int thirdbracket = xml.indexOf("}");
       int fourthbracket = xml.indexOf("}", thirdbracket - 1);
        return xml.substring(firstbracket, fourthbracket);   
    }
    private void parseresponse(String init){
        String …
Run Code Online (Sandbox Code Playgroud)

java

0
推荐指数
1
解决办法
213
查看次数