【发布时间】:2015-04-28 06:12:06
【问题描述】:
我正在尝试编写一个函数来反转 C# 中字符串中的单词,
例如:“这是一些文本,你好世界”
应该像这样打印
“world hello, text some is This” 反向字符串中的空格数必须相同,并且逗号等特殊字符必须正确放置在前面的单词之后,如反向字符串所示。
我试过关注,但它没有处理像','这样的特殊字符
public static string reverseStr(string s)
{
string result = "";
string word = "";
foreach (char c in s)
{
if (c == ' ')
{
result = word + ' ' + result;
word= "";
}
else
{
word = word + c;
}
}
result = word + ' ' + result;
return result;
}
【问题讨论】:
-
你一定遇到了编译错误,因为没有
string.empty,它是string.Empty(注意E)。 -
好吧,我没有完全复制粘贴,现在编辑了
-
这会给你什么结果(输出)?
-
“正确”放置是什么意思?您是否知道 unicode 中有不应反转的多码序列?在一般情况下,反转 unicode 字符串并不是一件容易的事。对于本地化的情况,比如只有英文文本而没有这样的“奇怪的”unicode 代码点,这很容易。例如,使用正确的字符,字符串
"aè"将反转为"eà",因为它实际上类似于"a<put an accent on the next character>e"