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

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

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

StrUtil.fillBefore介绍

[英]将已有字符串填充为规定长度,如果已有字符串超过这个长度则返回这个字符串
字符填充于字符串前
[中]将已有字符串填充为规定长度,如果已有字符串超过这个长度则返回这个字符串
字符填充于字符串前

代码示例

代码示例来源:origin: looly/hutool

/**
 * 计算两个单元格之间的单元格数目(同一行)
 * 
 * @param preRef 前一个单元格位置,例如A1
 * @param ref 当前单元格位置,例如A8
 * @return 同一行中两个单元格之间的空单元格数
 */
public static int countNullCell(String preRef, String ref) {
  // excel2007最大行数是1048576,最大列数是16384,最后一列列名是XFD
  // 数字代表列,去掉列信息
  String preXfd = StrUtil.nullToDefault(preRef, "@").replaceAll("\\d+", "");
  String xfd = StrUtil.nullToDefault(ref, "@").replaceAll("\\d+", "");
  // A表示65,@表示64,如果A算作1,那@代表0
  // 填充最大位数3
  preXfd = StrUtil.fillBefore(preXfd, CELL_FILL_CHAR, MAX_CELL_BIT);
  xfd = StrUtil.fillBefore(xfd, CELL_FILL_CHAR, MAX_CELL_BIT);
  char[] preLetter = preXfd.toCharArray();
  char[] letter = xfd.toCharArray();
  // 用字母表示则最多三位,每26个字母进一位
  int res = (letter[0] - preLetter[0]) * 26 * 26 + (letter[1] - preLetter[1]) * 26 + (letter[2] - preLetter[2]);
  return res - 1;
}

代码示例来源:origin: looly/hutool

/**
 * 计算两个单元格之间的单元格数目(同一行)
 * 
 * @param preRef 前一个单元格位置,例如A1
 * @param ref 当前单元格位置,例如A8
 * @return 同一行中两个单元格之间的空单元格数
 */
public static int countNullCell(String preRef, String ref) {
  // excel2007最大行数是1048576,最大列数是16384,最后一列列名是XFD
  // 数字代表列,去掉列信息
  String preXfd = StrUtil.nullToDefault(preRef, "@").replaceAll("\\d+", "");
  String xfd = StrUtil.nullToDefault(ref, "@").replaceAll("\\d+", "");
  // A表示65,@表示64,如果A算作1,那@代表0
  // 填充最大位数3
  preXfd = StrUtil.fillBefore(preXfd, CELL_FILL_CHAR, MAX_CELL_BIT);
  xfd = StrUtil.fillBefore(xfd, CELL_FILL_CHAR, MAX_CELL_BIT);
  char[] preLetter = preXfd.toCharArray();
  char[] letter = xfd.toCharArray();
  // 用字母表示则最多三位,每26个字母进一位
  int res = (letter[0] - preLetter[0]) * 26 * 26 + (letter[1] - preLetter[1]) * 26 + (letter[2] - preLetter[2]);
  return res - 1;
}

代码示例来源:origin: cn.hutool/hutool-all

/**
 * 计算两个单元格之间的单元格数目(同一行)
 * 
 * @param preRef 前一个单元格位置,例如A1
 * @param ref 当前单元格位置,例如A8
 * @return 同一行中两个单元格之间的空单元格数
 */
public static int countNullCell(String preRef, String ref) {
  // excel2007最大行数是1048576,最大列数是16384,最后一列列名是XFD
  // 数字代表列,去掉列信息
  String preXfd = StrUtil.nullToDefault(preRef, "@").replaceAll("\\d+", "");
  String xfd = StrUtil.nullToDefault(ref, "@").replaceAll("\\d+", "");
  // A表示65,@表示64,如果A算作1,那@代表0
  // 填充最大位数3
  preXfd = StrUtil.fillBefore(preXfd, CELL_FILL_CHAR, MAX_CELL_BIT);
  xfd = StrUtil.fillBefore(xfd, CELL_FILL_CHAR, MAX_CELL_BIT);
  char[] preLetter = preXfd.toCharArray();
  char[] letter = xfd.toCharArray();
  // 用字母表示则最多三位,每26个字母进一位
  int res = (letter[0] - preLetter[0]) * 26 * 26 + (letter[1] - preLetter[1]) * 26 + (letter[2] - preLetter[2]);
  return res - 1;
}

相关文章

StrUtil类方法