找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 21711|回复: 3

[问题求助] PowerShell怎样按照段落合并?

[复制链接]
发表于 2013-9-5 16:51:20 | 显示全部楼层 |阅读模式
文本如下,每个段落之间是用一个空行分割的,每个段落的行数不确定:

user: student1
pass: password1

user: student2
pass: password2
home: beijing

user: student3
pass: password3

希望把每个段落合并成一行,用逗号分割:

user: student1,pass: password1
user: student2,pass: password2,home: beijing
user: student3,pass: password3
发表于 2013-9-5 20:09:36 | 显示全部楼层
搞2遍,第一遍把回车替换成逗号,第二遍把行尾的逗号替换成回车.
发表于 2013-9-6 00:40:08 | 显示全部楼层
本帖最后由 terse 于 2013-9-6 01:05 编辑

回复 1# DAIC
初涉PS  挺原始的写法 代码不规范和错误写法 请指正
总感觉应该有更简单的  你在查看下 对象方法
忘记加分隔符
再看下PS的正则 刚刚正则用不了

  1. $s = $null
  2. foreach ($str in cat c:\test\test.txt) {
  3.         if ("$str" -eq "$null") {
  4.                 "$s"
  5.                 $s = $null
  6.         }
  7.         else
  8.         {
  9.                 if ("$s" -eq "$null") {
  10.                         $s = $str
  11.                 }
  12.                 else
  13.                 {
  14.                         $s = $s,$str -join ";"
  15.                 }
  16.                
  17.         }
  18. }
  19. $s
复制代码
发表于 2014-2-3 11:11:09 | 显示全部楼层
$s =""
foreach ($str in cat e:\su\powershell\shell1\bb.txt) {
        if ("$str" -ne "") {
            $s=$s+","+$str        
        }else{
          $s.substring(1)   
          $s=""
        }                    
}
$s
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 01:37 , Processed in 0.014519 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表