196 lines
5.7 KiB
Java
196 lines
5.7 KiB
Java
package util;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.HashMap;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
|
|
/**
|
|
* @program: server
|
|
* @description: 字符串函数类
|
|
* @author: Diyigeng
|
|
* @Company: BeiJing Blue Whale Technology CO.LTD. All rights reserved
|
|
* @create: 2018-11-29 21:05
|
|
**/
|
|
public class StringUtil {
|
|
|
|
public static int[] parseFiledInt(String value) {
|
|
if ("null".equals(value) || StringUtil.isEmpty(value)) {
|
|
return new int[0];
|
|
}
|
|
String[] param = value.split("#");
|
|
int[] values = new int[param.length];
|
|
for (int i = 0; i < param.length; i++) {
|
|
values[i] = Integer.parseInt(param[i]);
|
|
}
|
|
return values;
|
|
}
|
|
|
|
public static int[][] parseFiledInt2(String value) {
|
|
if ("null".equals(value) || value == null) {
|
|
return new int[0][0];
|
|
}
|
|
String[] param = value.split("\\|");
|
|
int[][] values = new int[param.length][];
|
|
for (int i = 0; i < param.length; i++) {
|
|
values[i] = parseFiledInt(param[i]);
|
|
}
|
|
return values;
|
|
}
|
|
|
|
public static int[][][] parseFiledInt3(String value) {
|
|
if ("null".equals(value) || value == null) {
|
|
return new int[0][0][0];
|
|
}
|
|
String[] param = value.split(",");
|
|
int[][][] values = new int[param.length][][];
|
|
for (int i = 0; i < param.length; i++) {
|
|
values[i] = parseFiledInt2(param[i]);
|
|
}
|
|
return values;
|
|
}
|
|
|
|
public static float[] parseFiledFloat(String value) {
|
|
if ("null".equals(value) || value == null) {
|
|
return new float[0];
|
|
}
|
|
String[] param = value.split("#");
|
|
float[] values = new float[param.length];
|
|
for (int i = 0; i < param.length; i++) {
|
|
values[i] = Float.parseFloat(param[i]);
|
|
}
|
|
return values;
|
|
}
|
|
|
|
public static float[][] parseFiledFloat2(String value) {
|
|
if ("null".equals(value) || value == null) {
|
|
return new float[0][0];
|
|
}
|
|
String[] param = value.split("\\|");
|
|
float[][] values = new float[param.length][];
|
|
for (int i = 0; i < param.length; i++) {
|
|
values[i] = parseFiledFloat(param[i]);
|
|
}
|
|
return values;
|
|
}
|
|
|
|
public static float[][][] parseFiledFloat3(String value) {
|
|
if ("null".equals(value) || value == null) {
|
|
return new float[0][0][0];
|
|
}
|
|
String[] param = value.split(",");
|
|
float[][][] values = new float[param.length][][];
|
|
for (int i = 0; i < param.length; i++) {
|
|
values[i] = parseFiledFloat2(param[i]);
|
|
}
|
|
return values;
|
|
}
|
|
|
|
|
|
/**
|
|
* 读取配置表将首字母小写,如果只有两个字母则全变为小写
|
|
*
|
|
* @return
|
|
*/
|
|
public static String[] fieldHandle(String[] params) {
|
|
String[] params1 = new String[params.length];
|
|
for (int i = 0; i < params.length; i++) {
|
|
if (params[i].length() <= 2) {
|
|
params1[i] = params[i].toLowerCase();
|
|
} else {
|
|
params1[i] = (new StringBuilder()).append(Character.toLowerCase(params[i].charAt(0))).append(params[i].substring(1)).toString();
|
|
}
|
|
}
|
|
return params1;
|
|
}
|
|
|
|
|
|
public static int[] getIntArray(String str, String sep) {
|
|
String[] prop = getStringList(str, sep);
|
|
List<Integer> tmp = new ArrayList<Integer>();
|
|
for (int i = 0; i < prop.length; i++) {
|
|
try {
|
|
int r = Integer.parseInt(prop[i]);
|
|
tmp.add(r);
|
|
} catch (Exception e) {
|
|
throw new RuntimeException(e);
|
|
}
|
|
}
|
|
int[] ints = new int[tmp.size()];
|
|
for (int i = 0; i < tmp.size(); i++) {
|
|
ints[i] = tmp.get(i);
|
|
}
|
|
return ints;
|
|
}
|
|
|
|
public static String[] getStringList(String str, String sep) {
|
|
str = trim(str);
|
|
return str.split(sep);
|
|
}
|
|
|
|
|
|
public static String trim(String str) {
|
|
if (str == null) {
|
|
str = "";
|
|
} else {
|
|
str = str.trim();
|
|
}
|
|
if (str.length() == 0) {
|
|
return str;
|
|
}
|
|
|
|
if (str.charAt(0) == '"') {
|
|
str = str.substring(1);
|
|
}
|
|
|
|
if (str.charAt(str.length() - 1) == '"') {
|
|
str = str.substring(0, str.length() - 1);
|
|
}
|
|
|
|
return str;
|
|
}
|
|
|
|
public static boolean isEmpty(String source){
|
|
if( source == null || source.isEmpty()){
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
|
|
public static String parseArrayToString(int[][] source) {
|
|
StringBuilder sb = new StringBuilder();
|
|
int length = source.length;
|
|
int last = length-1;
|
|
for(int i=0;i<length;i++){
|
|
int[] item = source[i];
|
|
if(i==last){
|
|
sb.append(item[0]).append("#").append(item[1]);
|
|
}else{
|
|
sb.append(item[0]).append("#").append(item[1]).append("|");
|
|
}
|
|
}
|
|
return sb.toString();
|
|
}
|
|
|
|
|
|
public static String getServiceKey(String serviceName, String host, String port) {
|
|
StringBuilder sb = new StringBuilder();
|
|
return sb.append(serviceName).append("|")
|
|
.append(host).append("|")
|
|
.append(port).toString();
|
|
}
|
|
|
|
public static Map<Integer,Integer> parsent2ToIntMap(int[][] value) {
|
|
Map<Integer, Integer> result = new HashMap<>();
|
|
int length = value.length;
|
|
for (int i = 0; i < length; i++) {
|
|
int[] item = value[i];
|
|
if (item.length != 2) {
|
|
continue;
|
|
}
|
|
result.put(item[0], item[1]);
|
|
}
|
|
return result;
|
|
}
|
|
}
|