[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
本帖最后由 WHY 于 2022-1-13 18:03 编辑
  1. $arr = gc a.txt -ReadCount 0;
  2. $count = $arr.Count;
  3. $out = [Collections.ArrayList]@();
  4. for ( $i = 0; $i -lt $count; $i++ ){
  5.     $m = [regex]::match($arr[$i], '^\d+\..*\(\s*([A-Z])\s*\)$');  #匹配开头为数字+".",结尾为"([A-Z])"的行
  6.     if ( $m.Success ) {
  7.         $Queston = $arr[$i];                                      #整行赋值给变量 Queston
  8.         $Alph    = $m.Groups[1].Value;                            #字母A-Z赋值给 Alph
  9.     } elseIf ( Test-Path Variable:Alph ) {                        #如果变量 Alph 已定义
  10.         $m = $arr[$i] -match $Alph + '\.(?:(?![A-Z]\.).)*';       #匹配答案
  11.         if ( $m ) {
  12.             $Answer = $matches[0];                                #答案赋值给 Answer
  13.             [void]$out.Add( $Queston + "`r`n" + $Answer );        #问题和答案加入数组 out
  14.         }
  15.     }
  16. }
  17. sc b.txt -Value $out;    #输出
复制代码
1

评分人数

TOP

返回列表