本文整理了Java中cn.hutool.core.util.StrUtil.subPre()
方法的一些代码示例,展示了StrUtil.subPre()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。StrUtil.subPre()
方法的具体详情如下:
包路径:cn.hutool.core.util.StrUtil
类名称:StrUtil
方法名:subPre
[英]切割指定位置之前部分的字符串
[中]切割指定位置之前部分的字符串
代码示例来源:origin: looly/hutool
/**
* 去掉数字尾部的数字标识,例如12D,44.0F,22L中的最后一个字母
* @param number 数字字符串
* @return 去掉标识的字符串
*/
private static String removeNumberFlag(String number) {
// 去掉类型标识的结尾
final int lastPos = number.length() - 1;
final char lastCharUpper = Character.toUpperCase(number.charAt(lastPos));
if ('D' == lastCharUpper || 'L' == lastCharUpper || 'F' == lastCharUpper) {
number = StrUtil.subPre(number, lastPos);
}
return number;
}
// ------------------------------------------------------------------------------------------- Private method end
代码示例来源:origin: looly/hutool
/**
* 去掉数字尾部的数字标识,例如12D,44.0F,22L中的最后一个字母
* @param number 数字字符串
* @return 去掉标识的字符串
*/
private static String removeNumberFlag(String number) {
// 去掉类型标识的结尾
final int lastPos = number.length() - 1;
final char lastCharUpper = Character.toUpperCase(number.charAt(lastPos));
if ('D' == lastCharUpper || 'L' == lastCharUpper || 'F' == lastCharUpper) {
number = StrUtil.subPre(number, lastPos);
}
return number;
}
// ------------------------------------------------------------------------------------------- Private method end
代码示例来源:origin: looly/hutool
/**
* 重复某个字符串到指定长度
*
* @param str 被重复的字符
* @param padLen 指定长度
* @return 重复字符字符串
* @since 4.3.2
*/
public static String repeatByLength(CharSequence str, int padLen) {
if (null == str) {
return null;
}
if (padLen <= 0) {
return StrUtil.EMPTY;
}
final int strLen = str.length();
if (strLen == padLen) {
return str.toString();
} else if (strLen > padLen) {
return subPre(str, padLen);
}
// 重复,直到达到指定长度
final char[] padding = new char[padLen];
for (int i = 0; i < padLen; i++) {
padding[i] = str.charAt(i % strLen);
}
return new String(padding);
}
代码示例来源:origin: looly/hutool
/**
* 重复某个字符串到指定长度
*
* @param str 被重复的字符
* @param padLen 指定长度
* @return 重复字符字符串
* @since 4.3.2
*/
public static String repeatByLength(CharSequence str, int padLen) {
if (null == str) {
return null;
}
if (padLen <= 0) {
return StrUtil.EMPTY;
}
final int strLen = str.length();
if (strLen == padLen) {
return str.toString();
} else if (strLen > padLen) {
return subPre(str, padLen);
}
// 重复,直到达到指定长度
final char[] padding = new char[padLen];
for (int i = 0; i < padLen; i++) {
padding[i] = str.charAt(i % strLen);
}
return new String(padding);
}
代码示例来源:origin: looly/hutool
/**
* 补充字符串以满足最小长度
*
* <pre>
* StrUtil.padPre(null, *, *);//null
* StrUtil.padPre("1", 3, '0');//"001"
* StrUtil.padPre("123", 2, '0');//"12"
* </pre>
*
* @param str 字符串
* @param minLength 最小长度
* @param padChar 补充的字符
* @return 补充后的字符串
*/
public static String padPre(CharSequence str, int minLength, char padChar) {
if (null == str) {
return null;
}
final int strLen = str.length();
if (strLen == minLength) {
return str.toString();
} else if (strLen > minLength) {
return subPre(str, minLength);
}
return repeat(padChar, minLength - strLen).concat(str.toString());
}
代码示例来源:origin: looly/hutool
/**
* 根据SQL语句查询结果<br>
* SQL语句可以是非完整SQL语句,可以只提供查询的条件部分(例如WHERE部分)<br>
* 此方法会自动补全SELECT * FROM [tableName] 部分,这样就无需关心表名,直接提供条件即可
*
* @param sql SQL语句
* @param params SQL占位符中对应的参数
* @return 记录
* @throws SQLException SQL执行异常
*/
public List<Entity> findBySql(String sql, Object... params) throws SQLException {
String selectKeyword = StrUtil.subPre(sql.trim(), 6).toLowerCase();
if(false == "select".equals(selectKeyword)){
sql = "SELECT * FROM " + this.tableName + " " + sql;
}
return db.query(sql, new EntityListHandler(), params);
}
代码示例来源:origin: looly/hutool
/**
* 补充字符串以满足最小长度
*
* <pre>
* StrUtil.padPre(null, *, *);//null
* StrUtil.padPre("1", 3, "ABC");//"AB1"
* StrUtil.padPre("123", 2, "ABC");//"12"
* </pre>
*
* @param str 字符串
* @param minLength 最小长度
* @param padStr 补充的字符
* @return 补充后的字符串
*/
public static String padPre(CharSequence str, int minLength, CharSequence padStr) {
if (null == str) {
return null;
}
final int strLen = str.length();
if (strLen == minLength) {
return str.toString();
} else if (strLen > minLength) {
return subPre(str, minLength);
}
return repeatByLength(padStr, minLength - strLen).concat(str.toString());
}
代码示例来源:origin: looly/hutool
/**
* 补充字符串以满足最小长度
*
* <pre>
* StrUtil.padPre(null, *, *);//null
* StrUtil.padPre("1", 3, "ABC");//"AB1"
* StrUtil.padPre("123", 2, "ABC");//"12"
* </pre>
*
* @param str 字符串
* @param minLength 最小长度
* @param padStr 补充的字符
* @return 补充后的字符串
*/
public static String padPre(CharSequence str, int minLength, CharSequence padStr) {
if (null == str) {
return null;
}
final int strLen = str.length();
if (strLen == minLength) {
return str.toString();
} else if (strLen > minLength) {
return subPre(str, minLength);
}
return repeatByLength(padStr, minLength - strLen).concat(str.toString());
}
代码示例来源:origin: looly/hutool
/**
* 补充字符串以满足最小长度
*
* <pre>
* StrUtil.padPre(null, *, *);//null
* StrUtil.padPre("1", 3, '0');//"001"
* StrUtil.padPre("123", 2, '0');//"12"
* </pre>
*
* @param str 字符串
* @param minLength 最小长度
* @param padChar 补充的字符
* @return 补充后的字符串
*/
public static String padPre(CharSequence str, int minLength, char padChar) {
if (null == str) {
return null;
}
final int strLen = str.length();
if (strLen == minLength) {
return str.toString();
} else if (strLen > minLength) {
return subPre(str, minLength);
}
return repeat(padChar, minLength - strLen).concat(str.toString());
}
代码示例来源:origin: looly/hutool
/**
* 忽略大小写去掉指定后缀
*
* @param str 字符串
* @param suffix 后缀
* @return 切掉后的字符串,若后缀不是 suffix, 返回原字符串
*/
public static String removeSuffixIgnoreCase(CharSequence str, CharSequence suffix) {
if (isEmpty(str) || isEmpty(suffix)) {
return str(str);
}
final String str2 = str.toString();
if (str2.toLowerCase().endsWith(suffix.toString().toLowerCase())) {
return subPre(str2, str2.length() - suffix.length());
}
return str2;
}
代码示例来源:origin: looly/hutool
/**
* 根据SQL语句查询结果<br>
* SQL语句可以是非完整SQL语句,可以只提供查询的条件部分(例如WHERE部分)<br>
* 此方法会自动补全SELECT * FROM [tableName] 部分,这样就无需关心表名,直接提供条件即可
*
* @param sql SQL语句
* @param params SQL占位符中对应的参数
* @return 记录
* @throws SQLException SQL执行异常
*/
public List<Entity> findBySql(String sql, Object... params) throws SQLException {
String selectKeyword = StrUtil.subPre(sql.trim(), 6).toLowerCase();
if(false == "select".equals(selectKeyword)){
sql = "SELECT * FROM " + this.tableName + " " + sql;
}
return db.query(sql, new EntityListHandler(), params);
}
代码示例来源:origin: looly/hutool
/**
* 忽略大小写去掉指定后缀
*
* @param str 字符串
* @param suffix 后缀
* @return 切掉后的字符串,若后缀不是 suffix, 返回原字符串
*/
public static String removeSuffixIgnoreCase(CharSequence str, CharSequence suffix) {
if (isEmpty(str) || isEmpty(suffix)) {
return str(str);
}
final String str2 = str.toString();
if (str2.toLowerCase().endsWith(suffix.toString().toLowerCase())) {
return subPre(str2, str2.length() - suffix.length());
}
return str2;
}
代码示例来源:origin: looly/hutool
/**
* 去掉指定后缀
*
* @param str 字符串
* @param suffix 后缀
* @return 切掉后的字符串,若后缀不是 suffix, 返回原字符串
*/
public static String removeSuffix(CharSequence str, CharSequence suffix) {
if (isEmpty(str) || isEmpty(suffix)) {
return str(str);
}
final String str2 = str.toString();
if (str2.endsWith(suffix.toString())) {
return subPre(str2, str2.length() - suffix.length());// 截取前半段
}
return str2;
}
代码示例来源:origin: looly/hutool
/**
* 去掉指定后缀
*
* @param str 字符串
* @param suffix 后缀
* @return 切掉后的字符串,若后缀不是 suffix, 返回原字符串
*/
public static String removeSuffix(CharSequence str, CharSequence suffix) {
if (isEmpty(str) || isEmpty(suffix)) {
return str(str);
}
final String str2 = str.toString();
if (str2.endsWith(suffix.toString())) {
return subPre(str2, str2.length() - suffix.length());// 截取前半段
}
return str2;
}
代码示例来源:origin: looly/hutool
return StrUtil.subPre(exceptionStr, limit);
代码示例来源:origin: looly/hutool
return StrUtil.subPre(exceptionStr, limit);
代码示例来源:origin: looly/hutool
String body;
if(sepIndex > 0) {
pre = StrUtil.subPre(url, sepIndex + 3);
body = StrUtil.subSuf(url, sepIndex + 3);
}else {
if(paramsSepIndex > 0) {
params = StrUtil.subSuf(body, paramsSepIndex);
body = StrUtil.subPre(body, paramsSepIndex);
代码示例来源:origin: looly/hutool
String body;
if(sepIndex > 0) {
pre = StrUtil.subPre(url, sepIndex + 3);
body = StrUtil.subSuf(url, sepIndex + 3);
}else {
if(paramsSepIndex > 0) {
params = StrUtil.subSuf(body, paramsSepIndex);
body = StrUtil.subPre(body, paramsSepIndex);
代码示例来源:origin: looly/hutool
/**
* 如果某些值为null,使用默认值
*
* @return this
*/
public MailAccount defaultIfEmpty() {
// 去掉发件人的姓名部分
final String fromAddress = InternalMailUtil.parseFirstAddress(this.from, this.charset).getAddress();
if (StrUtil.isBlank(this.host)) {
// 如果SMTP地址为空,默认使用smtp.<发件人邮箱后缀>
this.host = StrUtil.format("smtp.{}", StrUtil.subSuf(fromAddress, fromAddress.indexOf('@') + 1));
}
if (StrUtil.isBlank(user)) {
// 如果用户名为空,默认为发件人邮箱前缀
this.user = StrUtil.subPre(fromAddress, fromAddress.indexOf('@'));
}
if (null == this.auth) {
// 如果密码非空白,则使用认证模式
this.auth = (false == StrUtil.isBlank(this.pass));
}
if (null == this.port) {
// 端口在SSL状态下默认与socketFactoryPort一致,非SSL状态下默认为25
this.port = (null != this.sslEnable && this.sslEnable) ? this.socketFactoryPort : 25;
}
if (null == this.charset) {
// 默认UTF-8编码
this.charset = CharsetUtil.CHARSET_UTF_8;
}
return this;
}
代码示例来源:origin: looly/hutool
/**
* 如果某些值为null,使用默认值
*
* @return this
*/
public MailAccount defaultIfEmpty() {
// 去掉发件人的姓名部分
final String fromAddress = InternalMailUtil.parseFirstAddress(this.from, this.charset).getAddress();
if (StrUtil.isBlank(this.host)) {
// 如果SMTP地址为空,默认使用smtp.<发件人邮箱后缀>
this.host = StrUtil.format("smtp.{}", StrUtil.subSuf(fromAddress, fromAddress.indexOf('@') + 1));
}
if (StrUtil.isBlank(user)) {
// 如果用户名为空,默认为发件人邮箱前缀
this.user = StrUtil.subPre(fromAddress, fromAddress.indexOf('@'));
}
if (null == this.auth) {
// 如果密码非空白,则使用认证模式
this.auth = (false == StrUtil.isBlank(this.pass));
}
if (null == this.port) {
// 端口在SSL状态下默认与socketFactoryPort一致,非SSL状态下默认为25
this.port = (null != this.sslEnable && this.sslEnable) ? this.socketFactoryPort : 25;
}
if (null == this.charset) {
// 默认UTF-8编码
this.charset = CharsetUtil.CHARSET_UTF_8;
}
return this;
}
内容来源于网络,如有侵权,请联系作者删除!