如何反转\ n字符串列表中的每个字符串?

奥利弗VS

我具有此功能,该功能首先读取某些文件的内容,然后将文件的内容制成列表中的单独字符串。然后,我想访问列表中的每个元素,并在\ n出现时拆分字符串并将其反转。但是,我无法完成最后一部分。当遇到\ n时,如何拆分字符串列表中的每个字符串,然后反转内容?

一个例子。如果我有一个说“ aaa \ nbbb \ n”的文件,另一个说“ ccc \ nddd \ n”的文件,我想在\ n处分割字符串,使字符串说“ ddd \ nccc \ nbbb \ naaa \ n”

现在,下面的代码输出为“ ccc \ nddd \ naaa \ nbbb \ n”

let tac (filenames:string list) : string option =
    let bal = List.map (fun x -> readFile(x)) filenames
    let mutable ral = []
    for elem in bal do
        let wal = [elem.Value]
        ral <- ral @ wal
    let sal = List.choose id ral |> List.rev |> String.concat """"""
    try
        Some(sal) 
    with
        | _ -> None
托马斯·佩特里切克(Tomas Petricek)

为了能够运行您的代码,我对其进行了一些简化,因此我只有:

let bal = ["aa\nbb"; "cc\ndd"]
let mutable ral = []
for elem in bal do
    let wal = [elem]
    ral <- ral @ wal
let sal = bal |> List.rev |> String.concat ""

看来您的代码也在option某种程度上使用了值,但这与该问题无关。我也""""""用更简单的替换""在原始代码中,您还具有:

try Some(sal) with _ -> None

这是没有必要的,因为Some(sal)永远不会抛出异常。现在,在上面显示的代码中,您有了一个for循环,然后使用List.revfor循环再造只是相同的列表,所以在此不做太大的意义。您可以更改循环以反转列表并放置List.rev,也可以放置List.rev我会做前者:

let bal = ["aa\nbb"; "cc\ndd"]
let sal = bal |> List.rev |> String.concat ""

这将获取字符串列表,将其反转,然后以相反的顺序连接字符串。您还想反转每个字符串。为此,您可以将字符串中的字符取反,然后将它们转换为字符串并将它们连接起来:

"abc" |> Seq.rev |> Seq.map string |> String.concat ""

要对原始列表中的所有字符串执行此操作,可以使用List.map

let sal = 
  bal 
  |> List.map (fun s -> 
      s |> Seq.rev |> Seq.map string |> String.concat "") 
  |> List.rev |> String.concat ""

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Python:如何反转字符串列表中的每个字符?

如何反转字符串中的每个字符?

如何遍历字符串列表中的每个字符串并对其元素进行操作

如何从字符串列表中的每个字符串中删除最后一个字符

如何反转字符串数组中的每个字符串?

如何遍历列表中的每个字符串?

如何在Python中更改列表中每个字符串的第n个字符

如何使用python反转字符串中每个字符的位

Javascript:如何反转字符串中的单词而不是反转整个字符串?

如何处理字符串列表,其中每个字符串也可以是逗号分隔的字符串列表?

如何从字符串列表中创建所有第n个字符的列表?

如何在批处理脚本的字符串列表中提取每个字符串的特定部分?

如何向列表中的每个字符串添加一个字符串?

如何通过C中的函数反转字符串数组中的每个字符串?

如何编写返回字符串列表中超过10个字符的字符串计数的程序

如何在熊猫字符串列表中的每个字符串上迭代代码

给定一个字符串列表,如何检查这些字符串是否在列表中?

如何寻找另一个字符串中的字符串列表?

如何将字符串列表中的所有值添加到单个字符串?

如何知道一个字符串是否属于python中字符串列表的组合?

如何比较两个字符串列表以查找相同的字符串

如何将列表中的每个字符串附加到列表中?

如何在列表中每个字符串的末尾添加一个字符?

如何从javascript中的字符串中删除每个第n个字符?

如何从字符串中删除K个字符,以使每个字符最少

如何遍历字符串向量中每个字符串中的字符?

如何为列表中的每个字符串添加或插入 '(单引号),其中字符串以逗号分隔

我如何从字符串中替换每个第 n 个字符 x

如何将字符串中的每个字符更改为 'n' 前面?