怎么样把“you are well!”反转成“well are you!”?

xielao5566 2010-09-29 12:44:31
怎么样把“you are well!”反转成“well are you!”?
...全文
315 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
-过客- 2010-09-29
  • 打赏
  • 举报
回复
带标点符号转容易一些

string test = "you are well!";
string[] words = test.Split(' ');
Array.Reverse(words);
string result = string.Join(" ", words);
richTextBox2.Text = result;
/*------输出--------
well! are you
*/


不带标点符号转,需要明确规则,比如
a test, you are wall!
反转后结果是什么?
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 q107770540 的回复:]
先将字符串转换成 : llew era uoy

然后再对每个单词进行倒置操作

最后得到 ! well are you
[/Quote]

Linq 强大
kaukiyou 2010-09-29
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 adfwwdw2gwq 的回复:]

这个用冒泡排序好一点吧?
[/Quote]
冒泡是效率最慢的,只能用于教科书教学
adfwwdw2gwq 2010-09-29
  • 打赏
  • 举报
回复
这个用冒泡排序好一点吧?
叶子 2010-09-29
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 lxcnn 的回复:]
不带标点反转


C# code
string test = "a test, you are well!";
Regex reg = new Regex(@"(?i)\b[a-z-]+\b(\s+[a-z-]+\b)*");
string result = reg.Replace(test, delegate(Match m)
{
string[] words = m.V……
[/Quote]
厉害
parverxiao 2010-09-29
  • 打赏
  • 举报
回复
http://www.52webpro.cn/myshow.asp?topicid=11093这里有道笔试题可以看看
mailbao 2010-09-29
  • 打赏
  • 举报
回复
如果只是在頁面顯示問題的話,可以通過css樣式進行文字左右顛倒
xiyushuo 2010-09-29
  • 打赏
  • 举报
回复
他带标点的。。。。 要先保存标点的位置
parverxiao 2010-09-29
  • 打赏
  • 举报
回复
String oldstr="you are well";
String[] str = oldstr.split(" ");
String finalstr="";
for(int i=str.length-1;i>-1;i--)
{
finalstr=finalstr+str[i]+" ";
}
System.out.println(finalstr);
}
persuit666 2010-09-29
  • 打赏
  • 举报
回复
js代码
var s="you are well"
var arr=s.split(' ');
arr.reserve();//第一个和最后一个翻转位置
s=arr.join()+"!";
君望永远 2010-09-29
  • 打赏
  • 举报
回复
分詞啊 有专门的开源项目~
只针对这一句的话 先Split 再从2->0遍历数组
l13873666736 2010-09-29
  • 打赏
  • 举报
回复
用空格拆分成字符串数组
倒序输出。
q107770540 2010-09-29
  • 打赏
  • 举报
回复
先将字符串转换成 : llew era uoy

然后再对每个单词进行倒置操作

最后得到 ! well are you
q107770540 2010-09-29
  • 打赏
  • 举报
回复

//使用linq也可以实现
void Main()
{
string s = "you are well!";
s = new string(s.ToCharArray().Reverse().ToArray());
var q =from t in s.Split(new char[] { ' ', '!' })
let m = t.ToCharArray().Reverse().ToArray()
select new { m};
string result = "!";
foreach (var r in q)
{
result += new string(r.m)+" ";
}
Console.WriteLine(result);
}

// 结果:
// ! well are you

打一壶酱油 2010-09-29
  • 打赏
  • 举报
回复
杯具了,是我搞错了,sorry
打一壶酱油 2010-09-29
  • 打赏
  • 举报
回复
基本的算法吧

char[] str = new char[字符串.length]

for(int i = 0;i < 字符串.length;i++){

str[字符串.length -1 - i] = 字符串.charat(i);

}

return str
-过客- 2010-09-29
  • 打赏
  • 举报
回复
不带标点反转

string test = "a test, you are well!";
Regex reg = new Regex(@"(?i)\b[a-z-]+\b(\s+[a-z-]+\b)*");
string result = reg.Replace(test, delegate(Match m)
{
string[] words = m.Value.Split(' ');
Array.Reverse(words);
return string.Join(" ", words);
});
richTextBox2.Text = result;
/*--------输出---------
test a, well are you!
*/
qiuqingpo 2010-09-29
  • 打赏
  • 举报
回复
学习一下
hchxxzx 2010-09-29
  • 打赏
  • 举报
回复
这个应该是要靠正则表达式来拆分比较好.
2个大条件:空格(假如都是英文的话),标点符号.
以上述为条件,将之取出来,形成数组,倒着显示就是了.

62,271

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧