从子字符串F#生成文件引用

时间:2012-10-17 10:40:54

标签: string f# substring

我在从子字符串生成F#中的文件引用时遇到问题。

我有一个输入文件,我想通过截断输入文件名来创建一个唯一可识别的输出文件。

我的代码如下: -

    let sillyString = @"BookingsAberdeen.csv";;


    let cutString = sillyString.Substring(8);;

    let outputFile = "@" + cutString;;

    outputFile;;

但事实并非如此。我得到了“@ Aberdeen.csv”,但我需要它成为@“Aberdeen.csv”。

有人可以建议用于outputFile的正确代码吗?

非常感谢,

西蒙

编辑:从代码中删除了不必要的测试行。

2 个答案:

答案 0 :(得分:2)

@是逐字字符串修饰符。

  

如果以@符号开头,则文字是逐字字符串。这个   表示忽略任何转义序列,但两个引号除外   标记字符被解释为一个引号字符。 msdn

它阻止F#解释例如"c:\test.txt""c:[TAB]est.txt"。一旦正确解释了字符串,您就不必担心@ -ing它 - 只需从第四行删除"@" +

答案 1 :(得分:1)

你应该逃避初始报价和收盘报价:

let outputFile = "@\"" + sillyString + "\"";