可做成CommonFunctions的一些常用的字符串共通处理归纳一:字符串处理相关
/** * nullToBlank() : 参数为null的场合,转化成空 * * @param pValue : 字符串型参数 * @return : null -> "" */ public static String nullToBlank(String pValue) { if(pValue == null || pValue.toLowerCase().equals("null")) { return ""; } else { return pValue; } }
/** * nullToZero() : 参数为null的场合,转化成0 * * @param pValue : 参数 * @return : null -> 0 */ public static String nullToZero(String pValue) { if (pValue == null || pValue.toLowerCase().equals("null") || pValue.equals("")) { return "0"; } else { return pValue; } }
/** * splitToArray() : 将字符串按目标字符切分成数组后返回 * * @param pTargetStr : 字符串 * @param pSplitFlg : 切分字符 * @return : 数组 */ public static String[] splitToArray(String pTargetStr, String pSplitFlg) { int index = -1; ArrayList<String> strArray = new ArrayList<String>(); while ((index = pTargetStr.indexOf(pSplitFlg)) != -1) { strArray.add(pTargetStr.substring(0, index)); pTargetStr = pTargetStr.substring(index + pSplitFlg.length()); } strArray.add(pTargetStr); String[] retStr = (String[]) strArray.toArray(new String[strArray.size()]); return retStr; }
/** * splitToVector() : 将字符串按目标字符切分成数组后返回 * * @param pTargetStr : 字符串 * @param pSplitFlg : 切分字符 * @return : 数组 */ public static Vector<String> splitToVector(String pTargetStr, String pSplitFlg) { Vector<String> retVal = null; String[] arrayText = splitToArray(pTargetStr, pSplitFlg); if (arrayText.length > 0) { retVal = new Vector<String>(arrayText.length); for (int i = 0; i < arrayText.length; i++) { retVal.addElement(arrayText[i]); } } return retVal; }
/** * joinToString() : 将目标数组按指定字符切分,合成字符串后返回 * * @param pVecOriginal : 数组 * @param pSplitFlg : 切分字符 * @return : 字符串 */ public static String joinToString(Vector<String> pVecOriginal, String pSplitFlg) { String retVal = ""; for (int i = 0; i < pVecOriginal.size(); i++) { retVal = retVal + pSplitFlg + pVecOriginal.elementAt(i).toString(); } if (!(retVal.equals(""))) { retVal = retVal.substring(1); } return nullToBlank(retVal); }
/** * paddingZeroL() : 在目标字符串的前面补齐0后返回 * * @param pOriginalData : 字符串 * @param paddingLength : 补齐后字符串长度 * @return : 补齐后字符串 */ public static String paddingZeroL(String pOriginalData, long pAllLength) { String retVal = pOriginalData; byte[] byteOfString = retVal.getBytes(); long cnt = pAllLength - byteOfString.length; for (int i = 0; i < cnt; i++) { retVal = "0" + retVal; } return nullToBlank(retVal); }
/** * paddingZeroR() : 在目标字符串的后面补齐0后返回 * * @param pOriginalData : 字符串 * @param paddingLength : 补齐后字符串长度 * @return : 补齐后字符串 */ public static String paddingZeroR(String pOriginalData, long pAllLength) { String retVal = pOriginalData; byte[] byteOfString = retVal.getBytes(); long cnt = pAllLength - byteOfString.length; for (int i = 0; i < cnt; i++) { retVal = retVal + "0"; } return nullToBlank(retVal); }
public static final String PRE = "PRE"; public static final String END = "END"; /** * addStrPreOrEnd() : 在目标字符串的前面/后面补齐后返回 * * @param pTargetStr : 目标字符串 * @param pAddFlg : 前面/后面 * @param pLength : 需要补齐的位数 * @param pAddStr : 需要补齐的字符串 * @return : 补齐后字符串 */ public static String addStrPreOrEnd(String pTargetStr, String pAddFlg, int pLength, String pAddStr) { String strAppend = ""; for (int i = 0; i < pLength; i++) { strAppend += pAddStr; } if (pAddFlg.equals(PRE)) { return strAppend + pTargetStr; } else if (pAddFlg.equals(END)) { return pTargetStr + strAppend; } else { return pTargetStr; } }
/** * cutHeadderZero() : 将目标字符串的前面的0去掉后返回 * * @param pTargetStr : 目标字符串 * @return : 去0后的字符串 */ public static String cutHeadderZero(String pTargetStr) { String retVal = pTargetStr; String temp = pTargetStr; while (retVal.length() > 0) { if (retVal.substring(0, 1).equals("0")) { retVal = retVal.substring(1); } if (retVal.equals(temp)) { break; } temp = retVal; } return retVal; }
/** * getByteLengthByEncoding() : 按字符编码来计算字符串长度 * * @param pTargetStr : 字符串 * @param pEncoding : 编码(MS932/...) * @return : 字符串长度 */ public static int getByteLengthByEncoding(String pTargetStr, String pEncoding) { try { if (pTargetStr == null) { return 0; } byte[] b = pTargetStr.getBytes(pEncoding); return b.length; } catch (java.io.UnsupportedEncodingException e) { return 0; } }
/** * getByteLengthByCode() : 按Unicode/Shift_JIS来计算字符串长度 * * @param pTargetStr : 字符串 * @return : 字符串长度 */ public static int getByteLengthByCode(String pTargetStr) { int lengthCnt = 0; for (int i = 0; i < pTargetStr.length(); i++) { int c = pTargetStr.charAt(i); // Shift_JIS: 0x0 ~ 0x80, 0xa0 , 0xa1 ~ 0xdf , 0xfd ~ 0xff // Unicode : 0x0 ~ 0x80, 0xf8f0, 0xff61 ~ 0xff9f, 0xf8f1 ~ 0xf8f3 if ( (c >= 0x0 && c < 0x81) || (c == 0xf8f0) || (c >= 0xff61 && c < 0xffa0) || (c >= 0xf8f1 && c < 0xf8f4)) { lengthCnt += 1; } else { lengthCnt += 2; } } return lengthCnt; }
/** * getKeepLimitStr() : 当字符串超出指定长度时,以省略号形式显示 * * @param pTargetStr : 字符串 * @param pLength : 指定长度 * @return : 字符串 */ public static String getKeepLimitStr(String pTargetStr, int pLength) { int orgLength = getByteLengthByEncoding(pTargetStr, "MS932"); if (orgLength > pLength) { pLength -= 2; int index = pLength / 2; String retVal = pTargetStr.substring(0, index); while (getByteLengthByEncoding(retVal, "MS932") < pLength) { retVal = retVal + pTargetStr.substring(index, index + 1); index++; } if (getByteLengthByEncoding(retVal, "MS932") > pLength) { retVal = retVal.substring(0, retVal.length() - 1); } return retVal + "…"; } return pTargetStr; }
相关推荐
string常用截取字符串方法有很多,但是配合使用以下两种,基本都能满足要求: find(string strSub, npos); find_last_of(string strSub, npos); 其中strSub是需要寻找的子字符串,npos为查找起始位置。找到返回子...
用string拆分字符串 用string拆分字符串 用string拆分字符串
InStr InStr(string1,string2[,compare]) 返回string1字符串在string2字符串中第一次出现的位置 Split Split(string1,delimiter[,count[,start]]) 将字符串根据delimiter拆分成一维数组,其中delimiter用于标识子...
js date转String 日期字符串转换
本文实例汇总了C++常用字符串分割方法,分享给大家供大家参考。具体分析如下: 我们在编程的时候经常会碰到字符串分割的问题,这里总结下,也方便我们以后查询使用。 一、用strtok函数进行字符串分割 原型: char *...
基于Keil实现字符串函数string.h的简单应用基于Keil实现字符串函数string.h的简单应用基于Keil实现字符串函数string.h的简单应用基于Keil实现字符串函数string.h的简单应用基于Keil实现字符串函数string.h的简单应用...
1. 字符串连接 2.字符串分隔, split 一个 string 的部分到一个内表或一系列的变量
字符串数组转换成string类型的
将string类型的xml转为JSON字符串,利用JSONObject处理JSON串
自己整理的StringUtil ,字符串处理工具类,很全面的方法,对象之间的数据转换
305-字符串函数string.h应用举例(51单片机C语言实例Proteus仿真和代码)305-字符串函数string.h应用举例(51单片机C语言实例Proteus仿真和代码)305-字符串函数string.h应用举例(51单片机C语言实例Proteus仿真和代码)...
Base64转String字符串,支持将Base64转化为String字符串
InStr InStr(string1,string2[, compare]) 返回string1字符串在string2字符串中第一次出现的位置 Split Split(string1,delimiter[, count[, start]]) 将字符串根据delimiter拆分成一维数组,其中delimiter用于标识...
string字符串处理,包括运算符重载、字符串拼接、倒序输出等。
Test1 介绍的是字符串获取长度截取的问题 Test2 介绍的是字符串之间的比较问题 Tes3 介绍的字符串之间的分割 Tes4 介绍格式化字符串,日期和时间 Test5 介绍使用正则表达式 Test6 字符串生成器
用string拆分字符串.zip
在第一版的基础上做了改进,规范了编码和命名以及注释。添加了一些函数
C++自定义string字符串类,包含字符串的常用操作以及IO流操作
Delphi中处理字符串的相关方法 1、字符集转换方法 (1)stringtowidechar function stringtowidechar(const source:string;dest :pwidechar;destsize :integer) :pwidechar; 将默认string类型的字符串转换为unicode...
【C++】string (含字符串数组)相关用法.pdf 【C++】string (含字符串数组)相关用法.pdf 【C++】string (含字符串数组)相关用法.pdf 【C++】string (含字符串数组)相关用法.pdf 【C++】string (含字符串数组...