尝试用java中的另一个字符串的内容替换字符串中的标记。
searchString是我从文本文件中读取的标题。 replaceString是另一个可变长度字符串(bodyString)的长度
代码是:
String replaceString = Integer.toString(bodyString.length());
System.out.println("****************************************");
System.out.println("Body String: " + bodyString);
System.out.println("\nBody Length: " + replaceString);
System.out.println("\nSearch String: " + searchString);
if (searchString.contains("ContentLength")){
System.out.println("\nfound ContentLength in string");
searchString.replaceAll("ContentLength", replaceString);
}
System.out.println("\nSearch String: " + searchString);
System.out.println("****************************************");
输出:
****************************************
Body String: 0425742196,1234,13:36:47,
Body Length: 26
Search String: HTTP/1.1 200 OK
Date: Mon, 02 Dec 2013 08:57:36 GMT
Server: IBM_HTTP_Server
Cache-Control: no-cache
Content-Length: ContentLength
Set-Cookie: JSESSIONID=0000hzYFq3Sa-rl7ywJMrGTF0he:186g6992j; Path=/
Set-Cookie: PLAY_ERRORS=""; Path=/locationsapi/
Expires: Thu, 01 Dec 1994 16:00:00 GMT
Connection: close
Content-Type: application/text; charset=utf-8
Content-Language: en-AU
found content in string
Search String: HTTP/1.1 200 OK
Date: Mon, 02 Dec 2013 08:57:36 GMT
Server: IBM_HTTP_Server
Cache-Control: no-cache
Content-Length: ContentLength
Set-Cookie: JSESSIONID=0000hzYFq3Sa-rl7ywJMrGTF0he:186g6992j; Path=/
Set-Cookie: PLAY_ERRORS=""; Path=/locationsapi/
Expires: Thu, 01 Dec 1994 16:00:00 GMT
Connection: close
Content-Type: application/text; charset=utf-8
Content-Language: en-AU
****************************************
我怀疑我遇到多行问题,但似乎无法克服它。
任何建议表示赞赏......
答案 0 :(得分:1)
你想要
searchString = searchString.replaceAll("ContentLength", replaceString)
在Java中,String
是不可变的。如果你想要一个新的String,你需要通过构造函数调用或许多工厂方法之一获得一个新的String。