处理字符串中的空字符/换行,将空字符/换行转成逗号

/**
	 * 系统设置 > 通用设置-网络设置-TCP/IP -查看
	 *  
	 *  IPADDR=192.168.1.128
		NETMASK=255.255.255.0
		GATEWAY=192.168.1.2
		IPV6ADDR=2001:250:4000:2000::53
		IPV6_DEFAULTGW=2001:250:4000:2000::1
	 *	
	 * 获取TCP/IP 信息
	 * @param page
	 * @return
	 */
	@PostMapping(value = "/getTCPandIP")
    public ResponseResult<Object> getTCPandIP(){
		log.info("==============<getTCPandIP-consoleSearch>==============");
		try {
			log.info("==============<getTCPandIP-consoleSearch>==============ipPath路径:"+ipPath);
			String command="sh "+ipPath;
			String str =shellService.execShell(command).trim();
			log.info("==============<getTCPandIP-consoleSearch>==============获取TCP/IP 信息返回数据-str:"+str);
			//String str= "IPADDR=192.168.1.128 NETMASK=255.255.255.0 GATEWAY=192.168.1.2 IPV6ADDR=2001:250:4000:2000::53 IPV6_DEFAULTGW=2001:250:4000:2000::1";
			if(str!=null &&!str.isEmpty()){
				str +="\n"
						+ "prefixlen=64" ;
				String newStr= processingEmptyCharacters(str);
				JSONObject json = JSONObject.fromObject(newStr);  
				log.info("==============<getTCPandIP-consoleSearch>==============获取TCP/IP 信息 JSONObject:"+json.toString());
				return ResponseResult.success(json);
			}else{
				return ResponseResult.success(str);
			}
			
		} catch (Exception e) {
			log.info("==============<getTCPandIP-err>==============");
			e.printStackTrace();
			return ResponseResult.error();
		}
		
    }

/**
	 * 处理字符串中的空字符,将空字符转成逗号
	 * @param str
	 * @return
	 */
	private String processingEmptyCharacters(String str){
		//拼接json串
		String newStr = "{\"" +str +"\"}";
//		String regEx = "[' ']+"; // 一个或多个空格  
		String regEx = "['\n']+"; // 换行 
		Pattern p = Pattern.compile(regEx);  
		Matcher m = p.matcher(newStr);
		//空字符转成逗号
		String ss = m.replaceAll("\",\"").trim();
		System.out.println("空字符转成逗号:"+ss);
		//将等号转换成冒号
		String lastSrt = ss.replaceAll("=","\":\"");
		System.out.println("空字符转成冒号:"+lastSrt);
		return lastSrt;
	}

备份一下,将字符串转换成json格式。项目中用到了,仅作备份伪代码处理。。。

/**
	 * 系统设置 > 通用设置-网络设置-路由设置 -查询
	 * 10.15.150.0/24 via 192.168.150.253 1
		192.168.1.0/24 via 192.168.61.2 1

	 * 获取路由设置信息
	 * @param page
	 * @return
	 */
	@PostMapping(value = "/getRouting")
    public ResponseResult<Object> getRouting(){
		log.info("==============<getRouting-consoleSearch>==============");
		log.info("==============<delectRouting-consoleSearch>==============路径routePath:"+routePath);
		try {
			//TODO调查询路由设置 的实现
			String command="sh "+routePath+" list";
			String str = shellService.execShell(command).trim();
			if(str!=null &&!str.isEmpty()){
				log.info("==============<getRouting-consoleSearch>==============路由设置 -查询 返回数据-str:"+str);
//				String str ="10.15.150.0/24 via  192.168.150.253 1  192.168.1.0/24 via 192.168.61.2 1";
				//将字符串中的via去掉
				Pattern p = Pattern.compile("via");
				Matcher m = p.matcher(str);//这里把想要替换的字符串传进来
				String newString = m.replaceAll("").trim();
				//将字符串中的空格转换成逗号
//				String regEx = "[' ']+"; // 一个或多个空格  
				String regEx = "['\n']+"; // 换行 
				Pattern pa = Pattern.compile(regEx);  
				Matcher ma = pa.matcher(newString);
				String ss = ma.replaceAll(",").trim();
				//将字符串转化成数组
				String[] arr = ss.split(","); // 用,分割
				
				List<Map<String,String>> list = new ArrayList<Map<String,String>>();
				Map<String, String> map =new HashMap<String,String>(); 
				//循环遍历,将数组组合成map放入list
				for (int i = 0; i < arr.length; i++) {
					if(i==0){
						map.put("destinationAddress",arr[0]);
					}
					if(i==1){
						map.put("nextJump", arr[1]);
					}
					if(i==2){
						map.put("state", arr[2]);
						//将map放入list后清空数据
						list.add(map);
						map =new HashMap<String,String>();
						List<String> list1=Arrays.asList(arr);
						List<String> arrList = new ArrayList<String>(list1); //
						arrList.remove(arr[0]);
						arrList.remove(arr[1]);
						arrList.remove(arr[2]);
						String[] newArr = new String[arrList.size()];
						 //使用for循环得到数组
					    for(int z = 0; z < arrList.size();z++){
					    	newArr[z] = arrList.get(z);
					    }
					    //重新赋值i
					    i=(-1);
					    arr = newArr;
					}
				}
				log.info("==============<getRouting-consoleSearch>==============路由设置 -查询, 返回数据-list:"+list);
				return ResponseResult.success(list);
			}else{
				return ResponseResult.success(str);
			}
			
		} catch (Exception e) {
			log.error("==============<getRouting-consoleSearch-error>==============", e);
			return  ResponseResult.error();
		}
	}

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值