针对常见的字符数据处理的一个总结:
JS操作:
示例1: AA-BB-CC-DD 要求截取第二个 - 后面的数据,要求输出结果为:CC-DD
代码:
var str="AA-BB-CC-DD";
var a = str.indexOf('_');
var d = str.substring(a+1,str.length);
//截取第二个下划线
var b = d.indexOf('_');
var c = d.substring(b+1,b.length);
console.log(c); //CC-DD
示例2:字符串var str= "AA,BB,CC,DD"中
(1)判断是否包含字符 ‘ ,’
//search:是否包含某个元素
if(str.search(",") != -1){
}
(2)判断字符 ‘ ,’ 出现次数
var count=1;
for (let index = 0; index < str.length; index++) {
var a=str.indexOf(",",index);
if(a!=-1 && str.indexOf(",",index)!=str.indexOf(",",index-1)){
count++;
}
}
(3)获取“,”分割开的所有数据 / 单独获取每项数据
var UserName=[];
for (let i = 0; i < count+1; i++) {
var name=str.split(",")[i];
UserName.push(name);
}
console.log(UserName); //输出结果为: ['AA','BB','CC','DD']
JAVA操作:
1.对XX路径做处理,获取XX名称.先接收一图片路径为: http://127.0.0.1:8080/cms/ReadAddress/1478584554147.jsp
要求获取图片名称:1478584554147.jsp
public String getPhotoName(String path){
//获取最后一个/后面的数据
String img=path.substring(path.lashIndexOf("/")+1);
return img;
/**
* 判断是否以 jpg结尾
* int length=img.length();
* if(length>=3){
* String str=path.substring(length-3,length);
* if(str.equals("jpg"){
* System.out.println("图片以JPG结尾");
* //做处理
* }
* }
*/
}
2.对时间做处理: 接收到的数据为 2021-09-06 23:48:465.22 ,现需求是要求时间精确到秒
/**
* 精确到秒的时间戳
*/
public String getSecondTimestamp(String date){
if (null == date || date.equals("null")) {
return "";
}
int length = date.length();
if (length > 3) {
return date.substring(0, date.indexOf("."));
} else {
return "";
}
}
3.float类型接收到的数据,显示结果时自动转换成了科学计数法,先今需求:去掉科学计数法,对该数据四舍五入要求保留3位小数
/**
* float 去掉科学计数法,四舍五入保留3位小数
*/
public Float getThreeDecimal(Float data) {
//去除科学计数法
String str=new BigDecimal(data).toString();
Float result = Float.parseFloat(str);
return Math.round(result*1000)/1000f;
}
4.float类型四舍五入保留整数(去掉结果后面的小数点)。接收到的数据为:10.515 ,对float进行四舍五入操作后保留的结果为11.0;数据量较小时,可采用以下方法
/**
* float 四舍五入,保留整数
*/
public Integer getRound(Float data) {
Integer getInteger= (Integer)Math.round(data);
return getInteger;
}
5.String类型接收的数值数据,要求四舍五入保留整数
/**
* float 四舍五入,保留整数
*/
public Integer getRound(Float data) {
Integer getInteger= (Integer)Math.round(data);
return getInteger;
}
6.String类型接收的数值数据,要求先除10后四舍五入保留整数
/**
* String 转Double 转Integer /10,四舍五入,保留整数
*/
public Integer getInteger10(String data) {
double value = Double.valueOf(data.toString());
Integer getRound=Integer.parseInt(new java.text.DecimalFormat("0").format(value));
Integer getRound2=Math.round(getRound/10);
return getRound2;
}