【发布时间】:2019-05-03 18:46:34
【问题描述】:
正在编写名为 pig Latin 的课程。它适用于我上课所需的东西。它只要求输入要转换的阶段。但我注意到,如果我在最后输入一个带有标点符号的句子,它会弄乱最后一个单词的翻译。试图找出解决此问题的最佳方法。编程新手,但我需要它检查单词中的最后一个字符以检查标点符号。在翻译之前将其删除,然后将其添加回来。不知道该怎么做。一直在阅读 char.IsPunctuation。另外不确定我的代码的哪一部分用于该检查。
public static string MakePigLatin(string str)
{
string[] words = str.Split(' ');
str = String.Empty;
for (int i = 0; i < words.Length; i++)
{
if (words[i].Length <= 1) continue;
string pigTrans = new String(words[i].ToCharArray());
pigTrans = pigTrans.Substring(1, pigTrans.Length - 1) + pigTrans.Substring(0, 1) + "ay ";
str += pigTrans;
}
return str.Trim();
}
【问题讨论】:
-
我想先读取每个字符并在末尾去掉标点符号,然后将其添加回末尾。但是,如果我有超过一个句子,那就行不通了。
-
这只是为了额外的功劳,因为我们没有时间复习这一章。对于额外的信用,只需要输入阶段并让它翻译上面的代码。我只是在玩它,发现问题,我做了 2 句话。我把单词按空格分开。 str.Split(' ') 但最后一个单词和标点符号之间不会有空格。