cn.hutool.core.util.StrUtil.subPre()方法的使用及代码示例

x33g5p2x  于2022-01-30 转载在 其他  
字(9.4k)|赞(0)|评价(0)|浏览(721)

本文整理了Java中cn.hutool.core.util.StrUtil.subPre()方法的一些代码示例,展示了StrUtil.subPre()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。StrUtil.subPre()方法的具体详情如下:
包路径:cn.hutool.core.util.StrUtil
类名称:StrUtil
方法名:subPre

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;
}

相关文章

微信公众号

最新文章

更多

StrUtil类方法