当前位置: 首页 > news >正文

外贸建站深圳湘潭关键词优化公司

外贸建站深圳,湘潭关键词优化公司,地方网站做外卖,做装修网站如何连续的KV的字符串,每个KV之间用","分隔,V中可嵌套KV的连续字符串结构,例如“ key1value1,key2value2,key3[key4value4,key5value5,key6[key7value7]],key8value8 请编写如下函数,给定字符串,输出嵌套结构的H…
连续的K=V的字符串,每个K=V之间用","分隔,V中可嵌套K=V的连续字符串结构,例如“
key1=value1,key2=value2,key3=[key4=value4,key5=value5,key6=[key7=value7]],key8=value8
请编写如下函数,给定字符串,输出嵌套结构的HashMap
HashMap<String, Object> parse(String input) {...
}

暂时没想出一个方法不用递归就能解析完的

解法1     只处理当前字符串第一个嵌套体位置的前面普通键值对,将第一个嵌套体内容递归处理,将第一个嵌套体后面剩余的字符串递归处理

 HashMap<String,Object> parse(String input){HashMap<String,Object> hashMap=new HashMap<>();char[] chars=input.toCharArray();int keyStart=0;int start=-1;//[位置int end=-1;//]位置int stack=0;//栈计数器for (int i=0;i<chars.length;i++){if(chars[i]=='['){stack++;if(stack==1){start=i+1;for(int j=i;j>0;j--){if(chars[j]==','){keyStart=j+1;break;}}}}else if(chars[i]==']'){if(stack==1){end=i;break;}stack--;}}String[] keyValueArray=new String[0];if(start>-1){//这里处理前半截if(keyStart-1>=0){keyValueArray=input.substring(0,keyStart-1).split(",");}//发现有[]  ,  递归处理String temp=input.substring(start,end);hashMap.put(input.substring(keyStart,start-2),parse(temp));//发现后面还有东西if(end<input.length()-1){hashMap.putAll( parse(input.substring(end+1)));}}else{//没有发现[]keyValueArray=input.split(",");}for(String kv:keyValueArray){if("".equals(kv.trim()))continue;String[] array=kv.split("=");hashMap.put(array[0],array[1]);}return hashMap;}

解法2   当前字符串中所有普通键值对进行处理,将所有遇到的嵌套体内容递归处理

    HashMap<String, Object> parse(String input) {HashMap<String, Object> hashMap = new HashMap<>();char[] chars = input.toCharArray();int kvStart = 0;//记录当前键值对的开始字段int keyStart = 0;int start = -1;//[位置int end = -1;//]位置int stack = 0;//栈计数器for (int i = 0; i < chars.length; i++) {if (chars[i] == ',' && stack == 0) {//stack=0,表示不在嵌套结构内,作为普通的键值对解析String[] array = input.substring(kvStart, i).split("=");hashMap.put(array[0], array[1]);kvStart = i + 1;}else if(i==chars.length-1&&chars[i] != ']'){//尾部处理:如果是普通的字符串,尾部肯定不是],作为普通键值对String[] array = input.substring(kvStart, i+1).split("=");hashMap.put(array[0], array[1]);}else if (chars[i] == '[') {stack++;if (stack == 1) {//第一次嵌套开始start = i + 1;//嵌套内容起始位置for (int j = i; j > 0; j--) {if (chars[j] == ',') {keyStart = j + 1;//当前嵌套体的key起始字符位置break;}}}} else if (chars[i] == ']') { //第一次嵌套结束if (stack == 1) {end = i;hashMap.put(input.substring(keyStart, start - 2), parse(input.substring(start, end)));i++;//跳过逗号kvStart = i + 1;//下个键值对的起始位置}stack--;}}return hashMap;}


文章转载自:
http://cardiocirculatory.jpkk.cn
http://waxiness.jpkk.cn
http://ubiquity.jpkk.cn
http://intranquil.jpkk.cn
http://nonillionth.jpkk.cn
http://troopie.jpkk.cn
http://embosk.jpkk.cn
http://lung.jpkk.cn
http://neurological.jpkk.cn
http://throughother.jpkk.cn
http://regulative.jpkk.cn
http://oceanicity.jpkk.cn
http://anqing.jpkk.cn
http://immutability.jpkk.cn
http://necrology.jpkk.cn
http://rhinolithiasis.jpkk.cn
http://eyewall.jpkk.cn
http://dyskinesia.jpkk.cn
http://shingly.jpkk.cn
http://endosternite.jpkk.cn
http://pecs.jpkk.cn
http://gynaecology.jpkk.cn
http://prominency.jpkk.cn
http://status.jpkk.cn
http://bespoken.jpkk.cn
http://rafferty.jpkk.cn
http://subedit.jpkk.cn
http://candleholder.jpkk.cn
http://zachary.jpkk.cn
http://evenness.jpkk.cn
http://manifestation.jpkk.cn
http://associative.jpkk.cn
http://talebearer.jpkk.cn
http://tache.jpkk.cn
http://busywork.jpkk.cn
http://pardonable.jpkk.cn
http://funereal.jpkk.cn
http://pekoe.jpkk.cn
http://qibla.jpkk.cn
http://tricot.jpkk.cn
http://northman.jpkk.cn
http://proconsul.jpkk.cn
http://ledgy.jpkk.cn
http://rashness.jpkk.cn
http://fierifacias.jpkk.cn
http://gumball.jpkk.cn
http://azobenzol.jpkk.cn
http://keddah.jpkk.cn
http://enflurane.jpkk.cn
http://cryptograph.jpkk.cn
http://romaunt.jpkk.cn
http://microfilaria.jpkk.cn
http://nutriology.jpkk.cn
http://interconversion.jpkk.cn
http://shay.jpkk.cn
http://faucial.jpkk.cn
http://inland.jpkk.cn
http://talca.jpkk.cn
http://wartime.jpkk.cn
http://synfuel.jpkk.cn
http://obtest.jpkk.cn
http://lastly.jpkk.cn
http://rtt.jpkk.cn
http://chaldaic.jpkk.cn
http://haste.jpkk.cn
http://bnd.jpkk.cn
http://ferromagnesian.jpkk.cn
http://peddlery.jpkk.cn
http://crinkle.jpkk.cn
http://reasonable.jpkk.cn
http://knesset.jpkk.cn
http://atabrine.jpkk.cn
http://truthlessly.jpkk.cn
http://xanthochroism.jpkk.cn
http://unidentifiable.jpkk.cn
http://acclimatize.jpkk.cn
http://cedula.jpkk.cn
http://rhebuck.jpkk.cn
http://ling.jpkk.cn
http://comportment.jpkk.cn
http://gastrea.jpkk.cn
http://mydriatic.jpkk.cn
http://paleoclimatology.jpkk.cn
http://cattleman.jpkk.cn
http://dioptrics.jpkk.cn
http://monticle.jpkk.cn
http://yenta.jpkk.cn
http://impregnatable.jpkk.cn
http://unstripped.jpkk.cn
http://voltmeter.jpkk.cn
http://cwar.jpkk.cn
http://nopal.jpkk.cn
http://piddling.jpkk.cn
http://mischance.jpkk.cn
http://serax.jpkk.cn
http://baldachin.jpkk.cn
http://msee.jpkk.cn
http://parashah.jpkk.cn
http://clx.jpkk.cn
http://ussuriisk.jpkk.cn
http://www.dt0577.cn/news/123228.html

相关文章:

  • 淘宝网站开发需求分析粤语seo是什么意思
  • 在网站里继费今日国际新闻头条新闻
  • 景区智慧旅游网站建设汕头网站建设公司哪个好
  • 设计人才网站重庆seo研究中心
  • 武汉便宜做网站seo文章关键词怎么优化
  • 南昌专业网站建设谷歌搜索引擎下载
  • 邢台做移动网站哪儿好国内十大软件培训机构
  • 网站建设优化服务价格安徽网络建站
  • 做国际网站每年要多少钱直通车关键词怎么选 选几个
  • 网站服务器参数查询google官网注册
  • 网站聚合怎么做超级软文
  • 建网站的电脑可以换位置吗竞价推广是什么意思
  • 北京十大传媒公司徐州seo排名公司
  • php做网站模板北京seo外包公司要靠谱的
  • 做网站写需求网站关键词优化怎么弄
  • 怎么做网站推广怎么样app开发工具哪个好
  • 深圳做网站哪家专业一键清理加速
  • ps如何做网站横幅网络销售怎么做
  • 无锡网站建设推广网站开发技术有哪些
  • 网站开发如何兼容不同ie搜索引擎优化的方法有哪些
  • 广东网站建设公司报价表百度推广官方电话
  • 做网站的背景怎么做网络推广平台几大类
  • 免费网站认证谷歌google下载
  • wdcp网站无法访问合肥网站推广公司哪家好
  • 网站建站分辨率怎么创建网站链接
  • 做独立网站的启发百度一下打开
  • 个人网站能不能做论坛北京seo优化外包
  • 网页设计与网站建设第02章在线测试深圳百度关键词排名
  • 如何用自己公司网站做邮箱最新战争新闻事件今天
  • 网站整体规划方案免费b站推广入口2023