替换是添加到字符串的结尾

时间:2013-04-15 23:13:45

标签: c# replace

我正在尝试做一个简单的替换。我的问题是,它不是替换字符串,而是显示它抓取最后几个字符并将它们追加到最后。

public static Dictionary<string, string> dict = new Dictionary<string, string> {
{"1", @"\\id 1ch\n fjdsbfjdshfd"},
{"2", @"\\id 1co\n fjdsbfjdshfd"},
{"3", @"\\id 1th\n fjdsbfjdshfd"}
};

public static string bookNameFn(string line)
{
    return line.Split(' ')[1].ToLower().Replace("1ch", "1Chr").Replace("1co", "1Cor").Replace("1th", "1Thess");
}

foreach (KeyValuePair<String, String> usfm in dict)
{
    foreach (var line in usfm.Value.Split('\n'))
    {
        if (line.StartsWith("\\id "))
        {
            Console.WriteLine(bookNameFn(line));
        }
    }
}

输出

1Chrr
1Corr
1Thessess

期望的输出

1Chr
1Cor
1Thess

1 个答案:

答案 0 :(得分:0)

使用文字符号,例如

@"\id 1th\n fjdsbfjdshfd";

它会起作用,问题在于通过字符串构造函数解释值的方式。