address不超过35个字符,并且保证是完整单词,宁短勿长

客户需求千千万,我以不变应万变。。。
1、去掉首尾空格
2、address1不超过35个字符
3、按(单词+空格)组合计算字符个数
1)若字符个数=∑{(单词+空格)1+(单词+空格)2+…(单词+空格)n+(单词+空格)n+1}<=35;
则取address1={(单词+空格)1、(单词+空格)2、…(单词+空格)n、(单词+空格)n+1}
2)若字符个数=∑{(单词+空格)1+(单词+空格)2+…(单词+空格)n+(单词+空格)n+1}>35;
则取address1={(单词+空格)1、(单词+空格)2、…(单词+空格)n},取address2={(单词+空格)n+1、(单词+空格)n+2、…}
。。。。。。。
巴拉巴拉一堆就是一句地址里面截取前35个字符,地址里都是英文单词空格分割,如果第35个字符是空格,那正好,如果不是空格,则说明截到了单词,如果恰好接到了一个字符的单词,自认倒霉了,那就去之前空格前面的数据就好了,我要做的主要是拿到截取字符串的长度。

public int getSubNum(String adrr) {

	if (" ".equals(adrr.substring(34, 35))) {
		return 35;
	} else {
	//有出现长长的一句话里没有空格的情况,导致异常
		if (-1==adrr.lastIndexOf(' ', 35)) {
			return 35;
		}else{
			return adrr.lastIndexOf(' ', 35);
		}
		
	}
}

调用方法:
String srcaddr = (String)map.get(“srcaddr”);
String srcaddr1;
String srcaddr2;
if(srcaddr.length()>35){
//判断第35是不是空格,是空格则不做处理,不是空格则重新截取前一个空格之前的数据
int subNum = getSubNum(srcaddr);
srcaddr1 = srcaddr.substring(0, subNum);
//去掉头尾的空格
srcaddr2 = srcaddr.substring(subNum).trim;
}else{
srcaddr1 = srcaddr;
srcaddr2 = “”;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值