split分割字符串,获取账号密码(案例)
- 题目
描述:将任意一段字符,解析成数据库格式,并进行存储
“username=张三&pwd=123456&sex=男&age=12&hobbies=唱跳”
解析成 :张三 123456 男 12 唱跳
注意:以后学了正则表达式,大可不必这样操作,但这就是底层知识
-
思路分析:画个原理图就很容易理解了
-
代码:
public class Test2 {
public static void main(String[] args) {
// 分割字符串
String str = "username=张三&pwd=123456&sex=男&age=12&hobbies=唱跳";
String [] result = splitStr(str,"&");
for (String ss : result) {
System.out.println(ss);
}
}
private static String[] splitStr(String s ,String target) {
String [] result = s.split(target);
for(int i=0;i< result.length;i++) {
result[i] = result[i].split("=")[1]; // 这一步很关键
}
return result;
}
}
- 运行结果
// 优化一下,两个循环就可以实现需求,原理和上图是一样的
package review.String_;
public class Test {
public static void main(String[] args) {
// 需求,将 "id=12345&psd=asdufhiuash&hobby=旅游",将前端传入的字符串进行分割,返回用户输入的数据
String s = "id=12345&psd=asdufhiuash&hobby=旅游";
for (String ss :s.split("&")) {
String [] s1= ss.split("=");
for (int i = 0; i < s1.length; i++) {
if(i%2==1)
System.out.println(s1[i]);
}
}
}
}
-
总结
这道题,还是值得有点东西, 首先要堆数组有充分的认识,才可以熟练的通过数组解答,可能有其他方法,只要能解就是好方法
有充分的认识,才可以熟练的通过数组解答,可能有其他方法,只要能解就是好方法
之前自己也是用数组,没有很熟练的操作,用了两个for循环,结果把自己绕晕了,所以还是得多连题目,见多识广!