求解--去哪儿网笔试题目----这是中文分词吗

原创
2016-06-23 14:24:19 745浏览

去哪儿网 笔试 中文分词 程序

参加了去哪儿网的笔试
题大意: asp.php.jsp.javascript 语言不限 将其转化为 javascript.jsp.php.asp
意思就是用户输入的字符串(其中包含若干以“.”分隔开来的字符),你写个程序实现以这些“.”为分隔,把原来的一句话倒转过来。


回复讨论(解决方案)

貌似转换成数组,再倒序下就可以了。

问题是如何实现以“.”为分隔呢?两个点之间字符的转化为一个数组单元。大神求解

貌似转换成数组,再倒序下就可以了。
问题是如何实现以“.”为分隔呢?两个点之间字符的转化为一个数组单元。

$s = 'asp.php.jsp.javascript';echo join('.', array_reverse(explode('.', $s)));
javascript.jsp.php.asp

$s = 'asp.php.jsp.javascript';echo join('.', array_reverse(explode('.', $s)));
javascript.jsp.php.asp
版主大神粗线,看来我的php还得学!谢大神!

如果你不是那种“屡败屡战”型的,建议还是多修炼一段日子再去面试好,不然会一直面对失败打击自己信心的

这是基础吧?

估计是要用非系统自带函数来实现的

这是基础吧?
嗯 当时其实是在纠结自己写函数实现还是什么

估计是要用非系统自带函数来实现的
嗯 当时想到这个了

如果你不是那种“屡败屡战”型的,建议还是多修炼一段日子再去面试好,不然会一直面对失败打击自己信心的
恩恩 谢谢啦!

非系统自带函数来实现,不用array_reverse,就可以这样写吧.

function reverse_str($s){$r=explode('.', $s);$c=count($r);$i=0;foreach($r as $k=>$v){		if($i<$c/2){		$r[$k]=$r[$c-1-$i];//最前面的键值等于最后面的值		$r[$c-1-$i]=$v;//最后面的键值等于最前面的值,以此类推交换键值		$i++;	}else{	break;	}}	return join('.', $r);}//测试$s="1.2.3.4.5.6";echo reverse_str($s);


希望帮到你啊.

非系统自带函数来实现,不用array_reverse,就可以这样写吧.

function reverse_str($s){$r=explode('.', $s);$c=count($r);$i=0;foreach($r as $k=>$v){		if($i<$c/2){		$r[$k]=$r[$c-1-$i];//最前面的键值等于最后面的值		$r[$c-1-$i]=$v;//最后面的键值等于最前面的值,以此类推交换键值		$i++;	}else{	break;	}}	return join('.', $r);}//测试$s="1.2.3.4.5.6";echo reverse_str($s);


希望帮到你啊.

嗯 字符串处理是web开发的很重要的一部分吧。3Q

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。