从字符串行中删除空格并在数组中使用它

保罗543

我一直在浏览旧文章,但是找不到非常具体的答案,如何替换字符串中的空白然后将其用作数组。

输入文件包括以下几行:

-rw-r--r--   1 myuser admin   315279199 May 12 02:46 2016_05_12_backup.tar.gz
-rw-r--r--   1 myuser admin   315278122 May 13 04:56 2016_05_13_backup.tar.gz

我想收到以下输出:

program executed on 2016-05-16 / 12:18:06
to unix: 
rm -fr 2016_05_12_backup.tar.gz
rm -fr 2016_05_13_backup.tar.gz


to excel log: 
2016_05_12_backup.tar.gz
2016_05_13_backup.tar.gz

=============== END  ==============

我的代码在这里:

$path_in = "C:\test\input.txt"
$path_out = "C:\test\output.txt"

$endMessage = "=============== END  =============="

$reader = [System.IO.File]::OpenText($path_in)
$get_time_message = "program executed on " + [datetime]::now.ToString('yyyy-MM-dd / HH:mm:ss')

try {

add-content $path_out $get_time_message
add-content $path_out "to unix: "

$long_string_to_excel =""


    while($true){
        $line = $reader.ReadLine()

        if ($line -eq $null) { break }

        # divide the input line into array - remove white space 
        # it is hard coded here below for the lines that consist two and three space characters

        $better_line =  $line.replace('   ',' ')
        $best_line = $better_line.replace('  ',' ').split(' ')

        $stringToOutput = "rm -fr " + $best_line[8]

        $long_string_to_excel = $long_string_to_excel + $best_line[8]  + "`r`n"

        add-content $path_out $stringToOutput

    }

    add-content $path_out "`n"
    add-content $path_out "to excel log: "
    add-content $path_out $long_string_to_excel
    add-content $path_out $endMessage

}
finally {
    $reader.Close()
}
write-host "program execution:`ncompleted"

该脚本可以正常工作,但是对包含两个和三个空格字符的输入行进行了“硬”编码。我想用

    $better_line =  $line.replace(' +', ' ');
    $best_line = $better_line.split(' ')

代替

    $better_line =  $line.replace('   ',' ')
    $best_line = $better_line.replace('  ',' ').split(' ')

但是结果不正确:

program executed on 2016-05-16 / 12:18:04
to unix: 
rm -fr 315279199
rm -fr 315278122


to excel log: 
315279199
315278122

=============== END  ==============

您能否在解决方案中提出建议,如何替换硬编码部分,以便脚本可在一行中用于任何类型的空白?

Mathias R. Jessen

可以String.Split()使用内置-split运算符代替静态方法-它支持正则表达式,因此您可以使用它来分割“ 1个或多个空格”,例如:

PS C:\> "a   b" -split '\s+'
a
b
PS C:\> "a b" -split '\s+'
a
b

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在构造函数中创建一个字符串数组并在主函数中使用它

来自分类Dev

如何删除回车符和空格并将字符串正确存储在数组中?

来自分类Dev

如何在XML文件中存储字符串并在MVC的_Layout中使用它

来自分类Dev

在lang.h中定义字符串,并在WM_PAINT中使用它们?

来自分类Dev

如何从参数中获取字符串并在if语句中使用它?

来自分类Dev

如何在PHP中编辑数组中的一部分字符串值并在Javascript中使用它?

来自分类Dev

我如何返回数组并在数据库的其他类中使用它

来自分类Dev

如何在Java中定义字符串数组并在切换情况下使用它

来自分类Dev

从字符串中删除货币符号并在 Javascript 中使用单行转换为数字

来自分类Dev

将带空格的字符串传递到bash脚本并在字符串串联中使用

来自分类Dev

删除字符串,使用JavaScript将数字保留在数组中

来自分类Dev

如何在数组中使用字符串?

来自分类Dev

在数组中使用C字符串

来自分类Dev

如何使用angularJS或Java保存字符串(并在iframe中使用它)?

来自分类Dev

删除字符数组中的空格

来自分类Dev

获取URL查询字符串并在PHP中使用它

来自分类Dev

熊猫:找到部分字符串并在新列中使用它

来自分类Dev

如何提取命令结果字符串并在循环中使用它

来自分类Dev

如何从控制器获取字符串并在视图中使用它?

来自分类Dev

从PHP将任意字符编码为json数组,并在Android中使用它们

来自分类Dev

将字符串行放入“数组”中

来自分类Dev

如何忽略字符串中的特定字符并在以后使用它?

来自分类Dev

从字符串中删除空格并在分隔的行中写入文本

来自分类Dev

如何拆分字符串,存储在数组中并在 C 中传递几个函数

来自分类Dev

删除数组Ruby中项目的特定字符串行

来自分类Dev

使用 String 作为数组并在查询中使用它

来自分类Dev

不使用修剪方法从字符串中删除空格?

来自分类Dev

使用Python删除列表中字符串之间的空格

来自分类Dev

如何使用sed删除字符串中的双空格

Related 相关文章

  1. 1

    在构造函数中创建一个字符串数组并在主函数中使用它

  2. 2

    如何删除回车符和空格并将字符串正确存储在数组中?

  3. 3

    如何在XML文件中存储字符串并在MVC的_Layout中使用它

  4. 4

    在lang.h中定义字符串,并在WM_PAINT中使用它们?

  5. 5

    如何从参数中获取字符串并在if语句中使用它?

  6. 6

    如何在PHP中编辑数组中的一部分字符串值并在Javascript中使用它?

  7. 7

    我如何返回数组并在数据库的其他类中使用它

  8. 8

    如何在Java中定义字符串数组并在切换情况下使用它

  9. 9

    从字符串中删除货币符号并在 Javascript 中使用单行转换为数字

  10. 10

    将带空格的字符串传递到bash脚本并在字符串串联中使用

  11. 11

    删除字符串,使用JavaScript将数字保留在数组中

  12. 12

    如何在数组中使用字符串?

  13. 13

    在数组中使用C字符串

  14. 14

    如何使用angularJS或Java保存字符串(并在iframe中使用它)?

  15. 15

    删除字符数组中的空格

  16. 16

    获取URL查询字符串并在PHP中使用它

  17. 17

    熊猫:找到部分字符串并在新列中使用它

  18. 18

    如何提取命令结果字符串并在循环中使用它

  19. 19

    如何从控制器获取字符串并在视图中使用它?

  20. 20

    从PHP将任意字符编码为json数组,并在Android中使用它们

  21. 21

    将字符串行放入“数组”中

  22. 22

    如何忽略字符串中的特定字符并在以后使用它?

  23. 23

    从字符串中删除空格并在分隔的行中写入文本

  24. 24

    如何拆分字符串,存储在数组中并在 C 中传递几个函数

  25. 25

    删除数组Ruby中项目的特定字符串行

  26. 26

    使用 String 作为数组并在查询中使用它

  27. 27

    不使用修剪方法从字符串中删除空格?

  28. 28

    使用Python删除列表中字符串之间的空格

  29. 29

    如何使用sed删除字符串中的双空格

热门标签

归档