8-9 WPS JS宏 正则表达式 字符组与任选应用-条件计数
要求:统计字符串中大于等于80的个数和提取数字
|-----|------------|----|--------|
| 部门 | 考核分数 | 人数 | 提取数字 |
| 民政局 | 刘小明85、陈好90 | 2 | 85、90 |
| 财政局 | 李五91、徐丽100 | 2 | 91、100 |
| 残联 | 程六88、熊霞53 | 1 | 88、53 |
代码:
function test(){
var arr=Range("b2",Range("b9999").End(xlUp)).Value();
var newarr=arr.map(ar=>[ar[0].match(/[89]\d|100/g).length]);//match:搜索返回,[]:行转列
//正则表达式/[89]\d|100/g解析:先识别[8或9]再识别0-9,组合成2位数的数值,|或者识别100,/g为全局匹配
var newarr1=arr.map(ar=>[ar[0].replace(/[一-龥A-Za-z]/g,"")]);//replace:替换,[]:行转列
//正则表达式/[一-龥A-Za-z]/g解析:识别所有汉字和大写字母和小写字母
Range("c2").Resize(newarr.length,1).Value2=newarr;
Range("d2").Resize(newarr1.length,1).Value2=newarr1;
}