【问题标题】:remember part of string in variable记住变量中字符串的一部分
【发布时间】:2012-03-30 20:32:03
【问题描述】:

我的想法是我必须读取文件的每一行 (CSV) 并将特定位置的特定信息作为变量记住。 示例:

a;b;c;d;e;f123;g;h;i;j

我知道如何阅读每一行,但问题是如何保存f123 所在的信息并将其存储在变量中。有任何想法吗? 变量应该在每个循环中改变(当检查另一行时,变量应该改变)。

【问题讨论】:

    标签: regex perl scripting csv


    【解决方案1】:

    我建议你使用CPAN模块Text::CSV_XS

    它可以使用任何用户指定的字符作为分隔符、分隔符和转义符,它有助于处理任何 csv 文件。

    【讨论】:

      【解决方案2】:
      my @list = split ";", $line;
      my $value = $list[5];
      

      【讨论】:

      • 纯粹而简单,太棒了:>谢谢
      • @f00sa my $value = (split /;/, $line)[5] 但是,如果您可以引用分号,这将与输入中断,例如:a;b;c;"Quote: I have *plenty* of common sense; I just choose not to use it.";e;f123;i;j。使用诸如 Text::CSV 之类的 CSV 模块是更安全的选择。
      • @f00sa - 如果出现循环,您可以将$list[5] 推入数组中。push @arr,$list[5]; 然后您可以打印此数组。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-24
      • 1970-01-01
      • 1970-01-01
      • 2017-04-06
      相关资源
      最近更新 更多