/**
* 获取忽略部分字符的 X 进制的值
* 从 0-9 和 A-Z 中忽略
* @param number
* @param ignoreStr
* @return
*/
public static String getValueByIndexWithOut(int number, String... ignoreStr) {
List<String> decimalList = new ArrayList();
for (String n : DecimalUtil.NUMBERS) {
decimalList.add(n);
}
for (String s : DecimalUtil.LETTERS) {
decimalList.add(s);
}
for (String s : ignoreStr) {
decimalList.remove(s.toUpperCase());
}
if (number > decimalList.size()) {
throw new WmsException("参数 number %s 超过范围", number);
}
//取索引-1
return decimalList.get(number - 1);
}
public static int getIndexByValueWithOut(String value, String... ignoreStr) {
int index_ = 0;
Map<Integer, String> map = new HashMap();
List<String> decimalList = new ArrayList();
for (String n : DecimalUtil.NUMBERS) {
decimalList.add(n);
}
for (String s : DecimalUtil.LETTERS) {
decimalList.add(s);
}
for (String s : ignoreStr) {
decimalList.remove(s.toUpperCase());
}
ListUtil.forEach(decimalList, (index, str) -> {
if (value.equals(str)) {
map.put(index, str);
}
});
for (Map.Entry<Integer, String> entry : map.entrySet()) {
index_ = entry.getKey();
}
return index_+1;
}
public static <E> void forEach(
Iterable<? extends E> elements, BiConsumer<Integer, ? super E> action) {
Objects.requireNonNull(elements);
Objects.requireNonNull(action);
int index = 0;
for (E element : elements) {
action.accept(index++, element);
}
}
0-9 A-Z 36进制可忽略字母自定义进制规则,获取 k-v 关系方法
原创StephenJava 博主文章分类:Java ©著作权
©著作权归作者所有:来自51CTO博客作者StephenJava的原创作品,请联系作者获取转载授权,否则将追究法律责任
上一篇:庞伯特牛逼!
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
C#-正则基础 [0-9]|[a-z]|[A-Z] 匹配数字或字母
.NET Framework : 4.7.2 IDE : Visual Studio Community 2019 OS : W
c# microsoft 正则表达式 github -
C#-正则基础 ([a-z]|[A-Z])([a-z]|[A-Z]) 匹配两个相邻的字母
.NET Framework : 4.7.2 IDE : Visual Studio Community 2019
c# Express System microsoft
















