这似乎很棘手,我偶然发现了最后一道障碍。我尝试了不同的逻辑,但是din非常有用。所以我不提供我的代码。但我会发布我需要的输出。这是一个逻辑问题,我猜我确定我确实需要知道超过.Substring()
和.Replace()
的方法。
输入是一个字符串。输出是输入字符串的改变形式。这就是我想要的。
输入:“快乐” 输出:“快乐”
输入:“他是骗子” 输出:“他是骗子”
输入:“他是我的” 输出:“他就是我......”
输入:“这是我的意思” 输出:“这是我的... ...”
有时我程序中字符串中的几个特定单词可以用空格分隔(鹦鹉,在上面的例子中作弊)。我想要发生的是
.Replace("a ", "a...");
每当用空格分割的单词中有“a”时(p a r r o t,c h e t e d),我想要三个点跟随“a”。我能做到。什么使我的问题变得复杂“a”在英语中也常用来表示“一”(芒果,苹果等)。我不希望程序在这样的“a”之后添加三个点。以下是一个例子。
输入:“m a n g o is a fruit” 输出:“m a ... n g o is a fruit”
如何做到这一点?如果按照我的意愿给出输出,任何逻辑都会这样做。我希望我可以明确要求。如果我错过了什么请问。 感谢
答案 0 :(得分:1)
这适用于您提到的案例......
string input = "once a c h e a t e r always a cheater";
string output = Regex.Replace(input, @"(?<=\b\w )a (?=\w\b)", "a...");
Console.WriteLine(output); // once a c h e a...t e r always a cheater
检查周围的“单词”是否为单个字母。
答案 1 :(得分:0)
我不确定,但你可以试试, 查找子字符串'a',获取下一个字符串,如果在发生thr之后是一个字符串,就像字符空格字符空间那样用a替换a ...