日期:2014-05-19  浏览次数:20767 次

String字符串截取的问题
String str = "http://chat.lywlqy.com:8801/Body?user=webchat&pass=akUeaXbaUgZxkJnGYnQkkhQkVrQhSpxO&r=28791";
(我要获得user=webchat和pass=akUeaXbaUgZxkJnGYnQkkhQkVrQhSpxO)
怎么做啊?

求助~!

------解决方案--------------------
这基础的啊 查查文档 几个方法截就行了
------解决方案--------------------
public int indexOf(String str)返回指定子字符串在此字符串中第一次出现处的索引。返回的整数是 
 this.startsWith(str, k)
 为 true 的最小 k 值。 

参数:
str - 任意字符串。 
返回:
如果字符串参数作为一个子字符串在此对象中出现,则返回第一个这种子字符串的第一个字符的索引;如果它不作为一个子字符串出现,则返回 -1。
--------------------------------------------

substring
public String substring(int beginIndex)返回一个新的字符串,它是此字符串的一个子字符串。该子字符串从指定索引处的字符开始,直到此字符串末尾。
示例: 

 "unhappy".substring(2) returns "happy"
 "Harbison".substring(3) returns "bison"
 "emptiness".substring(9) returns "" (an empty string)
 
参数:
beginIndex - 起始索引(包括)。 
返回:
指定的子字符串。 
抛出: 
IndexOutOfBoundsException - 如果 beginIndex 为负或大于此 String 对象的长度。

--------------------------------------------

substring
public String substring(int beginIndex,
int endIndex)返回一个新字符串,它是此字符串的一个子字符串。该子字符串从指定的 beginIndex 处开始,直到索引 endIndex - 1 处的字符。因此,该子字符串的长度为 endIndex-beginIndex。 
示例: 

 "hamburger".substring(4, 8) returns "urge"
 "smiles".substring(1, 5) returns "mile"
 
参数:
beginIndex - 起始索引(包括)。
endIndex - 结束索引(不包括)。 
返回:
指定的子字符串。 
抛出: 
IndexOutOfBoundsException - 如果 beginIndex 为负,或 endIndex 大于此 String 对象的长度,或 beginIndex 大于 endIndex。

------解决方案--------------------
str.substring(str.indexOf("pass="))
------解决方案--------------------
String[] aa=str.split("?");
String[] bb=aa[1].split("&");

?和&可能使用转义符。
------解决方案--------------------
str.substring(str.indexOf("user="),str.indexOf("&pass="))
------解决方案--------------------
可以用 str.substring(str.indexOf(?)) 截取

然后在 用 split() "?" 进行切割
------解决方案--------------------
String str = "http://chat.lywlqy.com:8801/Body?user=webchat&pass=akUeaXbaUgZxkJnGYnQkkhQkVrQhSpxO&r=28791";
str = str.substring(str.indexOf("?")+1);
String a[] =str.split("&");
System.out.println(a[0]);
System.out.println(a[1]);


:user=webchat
pass=akUeaXbaUgZxkJnGYnQkkhQkVrQhSpxO
------解决方案--------------------
不知道为什么会有截取链接地址的要求。
request.getParameter("user");得不到user的值吗?? 当然这只是个人疑问。
String[] strs = str.split("\?")[1].split("\&");
String user = strs[0];
String possword = strs[1];


希望能给你有所帮助
------解决方案--------------------
public static void main(String[] args) {
String str = "http://chat.lywlqy.com:8801/Body?user=webchat&pass=akUeaXbaUgZxkJnGYnQkkhQkVrQhSpxO&r=28791";
String[] temp = str.split("&");
String user = temp[0].split("=")[1];
String pass = temp[1].split("=")[1];