怎么交换两个数的值字符串的值

perl学习笔记之交换两个变量的值
在perl里,交换两个变量的内容不需要增加临时变量。如:
[root@localhost ~]# perl -e '$a=1;$b="a";($a,$b)=($b,$a);print
"\$a=$a\n\$b=$b\n"'
[root@localhost ~]# perl -e '@a=qw(1 2 3 a b
c);($a[0],$a[-1])=($a[-1],$a[0]);print "@a\n"'
c 2 3 a b 1
[root@localhost ~]#&
可以一次为交换多个变量的值:
[root@localhost ~]# perl -e '@a=qw(1 2 3 a b
c);($a[0],$a[1],$a[2])=($a[1],$a[2],$a[0]);print "@a\n"'
2 3 1 a b c
[root@localhost ~]#&
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。java 中比较两字符串的大小,然后交换赋值。如何实现?_百度知道
java 中比较两字符串的大小,然后交换赋值。如何实现?
我想用compareto()去比较两个String数组的大小,然后,将它们的值互换。eg:String
str1[5];String str2[5];for (i=0;i&5;i++){if (判断str1[i]和str2[i]的字典顺序里的大小)//如何判断?int
str[5];str[5]=str2[5];//进行交换字符,可以这样写么?str2[5]=str1[5];str1[5]=str[5];}
提问者采纳
String first = &12&;
String second = &123&;
System.out.println(&before first = & + first + & second = & + second);
if (Integer.parseInt(first, 10) != Integer.parseInt(second, 10)) {
final String tmp =
System.out.println(&after first = & + first + & second = & + second);还是
String first = &12&;
String second = &123&;
System.out.println(&before first = & + first + & second = & + second);
if (first.length() != second.length()) {
final String tmp =
System.out.println(&after first = & + first + & second = & + second);
其他类似问题
为您推荐:
其他4条回答
public class StringExchenge {
public static void main(String[] args){
String [] str1 = {&aaa&,&bbb&,&ccc&,&ddd&,&eee&};
String [] str2 = {&111&,&222&,&333&,&444&,&555&,&666&};//这里加了一位,用来区分。
for(int i=0;i&str1.i++){
String s1 = str1[i];
String s2 = str2[i];
如果按字典顺序此 String 对象位于参数字符串之前,则比较结果为一个负整数。
如果按字典顺序此 String 对象位于参数字符串之后,则比较结果为一个正整数。
如果这两个字符串相等,则结果为 0;compareTo 只在方法 equals(Object) 返回 true 时才返回 0。
pareTo(s2)&0){
str1[i] = s2;
str2[i] = s1;
int count = 0;
//交换完成后...
for(String s1:str1){}这一句看不懂
for(String s1:str1){}这是Java独有的,它的作用和for(int i=0;i&str1.i++){} 是一样的,也就是完整的遍历一次数组或者列表。
你说的 很不明确
你的问题有点含糊
你说的是排序算法吧。冒泡的算法你看看,一样着呢。
字符串的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁新手园地& & & 硬件问题Linux系统管理Linux网络问题Linux环境编程Linux桌面系统国产LinuxBSD& & & BSD文档中心AIX& & & 新手入门& & & AIX文档中心& & & 资源下载& & & Power高级应用& & & IBM存储AS400Solaris& & & Solaris文档中心HP-UX& & & HP文档中心SCO UNIX& & & SCO文档中心互操作专区IRIXTru64 UNIXMac OS X门户网站运维集群和高可用服务器应用监控和防护虚拟化技术架构设计行业应用和管理服务器及硬件技术& & & 服务器资源下载云计算& & & 云计算文档中心& & & 云计算业界& & & 云计算资源下载存储备份& & & 存储文档中心& & & 存储业界& & & 存储资源下载& & & Symantec技术交流区安全技术网络技术& & & 网络技术文档中心C/C++& & & GUI编程& & & Functional编程内核源码& & & 内核问题移动开发& & & 移动开发技术资料ShellPerlJava& & & Java文档中心PHP& & & php文档中心Python& & & Python文档中心RubyCPU与编译器嵌入式开发驱动开发Web开发VoIP开发技术MySQL& & & MySQL文档中心SybaseOraclePostgreSQLDB2Informix数据仓库与数据挖掘NoSQL技术IT业界新闻与评论IT职业生涯& & & 猎头招聘IT图书与评论& & & CU技术图书大系& & & Linux书友会二手交易下载共享Linux文档专区IT培训与认证& & & 培训交流& & & 认证培训清茶斋投资理财运动地带快乐数码摄影& & & 摄影器材& & & 摄影比赛专区IT爱车族旅游天下站务交流版主会议室博客SNS站务交流区CU活动专区& & & Power活动专区& & & 拍卖交流区频道交流区
UID空间积分0 积分101阅读权限10帖子精华可用积分101 信誉积分88 专家积分0 在线时间55 小时注册时间最后登录
白手起家, 积分 101, 距离下一级还需 99 积分
帖子主题精华可用积分101 信誉积分88 专家积分0 在线时间55 小时注册时间最后登录
论坛徽章:0
本帖最后由 xwtnt236 于
16:22 编辑
假如文本内容如下:
1&string&1.0&/string&
2&key&CFBundleSignature&/key&
3&string&????&/string&
4&key&CFBundleVersion&/key&
5&string&10000&/string&
如何用sed替换在某一行&string&与&/string&中间的值, 比如第一行中间的值是1.0,我想替换为999,怎么去实现呢?&&同样第3行、第5行、第n行可以有选择性地进行替换。
感谢楼下两位, 有选择性地去替换见下表达式,n代表行数。
sed -r 'n s/(&string&)[^&]*(&\/string&)/\1999\2/'
&&nbsp|&&nbsp&&nbsp|&&nbsp&&nbsp|&&nbsp&&nbsp|&&nbsp
UID空间积分0 积分127阅读权限10帖子精华可用积分127 信誉积分749 专家积分0 在线时间1304 小时注册时间最后登录
白手起家, 积分 127, 距离下一级还需 73 积分
帖子主题精华可用积分127 信誉积分749 专家积分0 在线时间1304 小时注册时间最后登录
论坛徽章:0
sed -r 's/(&string&)[^&]*(&\/string&)/\1999\2/' file复制代码
UID163881空间积分0 积分9509阅读权限90帖子精华可用积分9509 信誉积分619 专家积分1 在线时间1446 小时注册时间最后登录
腰缠万贯, 积分 9509, 距离下一级还需 491 积分
帖子主题精华可用积分9509 信誉积分619 专家积分1 在线时间1446 小时注册时间最后登录
论坛徽章:0
[root@GO-EMAIL-1 ~]# sed '/string/{s/&.*&/&999&/g}' urfile& &&&
1&string&999&/string&
2&key&CFBundleSignature&/key&
& && &&&
3&string&999&/string&
& && &&&
4&key&CFBundleVersion&/key&
& && &&&
5&string&999&/string&复制代码
喜欢Linux,喜欢Unix,常来ChinaUnix
喜欢钓鱼,喜欢黑坑,常去京钓网,
喜欢健身,常去游泳.frog free back butterfly swim
linux学习站:
UID163881空间积分0 积分9509阅读权限90帖子精华可用积分9509 信誉积分619 专家积分1 在线时间1446 小时注册时间最后登录
腰缠万贯, 积分 9509, 距离下一级还需 491 积分
帖子主题精华可用积分9509 信誉积分619 专家积分1 在线时间1446 小时注册时间最后登录
论坛徽章:0
[root@Wed ~]# awk&&'/string/{sub(/&.*&/,&&999&&,$0)}1' urfile
1&string&999&/string&
2&key&CFBundleSignature&/key&
& && &&&
3&string&999&/string&
& && &&&
4&key&CFBundleVersion&/key&
& && &&&
5&string&999&/string&复制代码
喜欢Linux,喜欢Unix,常来ChinaUnix
喜欢钓鱼,喜欢黑坑,常去京钓网,
喜欢健身,常去游泳.frog free back butterfly swim
linux学习站:
UID空间积分0 积分101阅读权限10帖子精华可用积分101 信誉积分88 专家积分0 在线时间55 小时注册时间最后登录
白手起家, 积分 101, 距离下一级还需 99 积分
帖子主题精华可用积分101 信誉积分88 专家积分0 在线时间55 小时注册时间最后登录
论坛徽章:0
& & 多谢! 方法可行。
能不能有选择性地去替换呢?
UID空间积分0 积分101阅读权限10帖子精华可用积分101 信誉积分88 专家积分0 在线时间55 小时注册时间最后登录
白手起家, 积分 101, 距离下一级还需 99 积分
帖子主题精华可用积分101 信誉积分88 专家积分0 在线时间55 小时注册时间最后登录
论坛徽章:0
& & 多谢! 方法行得通。
能否做到选择性地去修改某一行的值, 不全部修改。
UID163881空间积分0 积分9509阅读权限90帖子精华可用积分9509 信誉积分619 专家积分1 在线时间1446 小时注册时间最后登录
腰缠万贯, 积分 9509, 距离下一级还需 491 积分
帖子主题精华可用积分9509 信誉积分619 专家积分1 在线时间1446 小时注册时间最后登录
论坛徽章:0
只要能确认选择条件一般就可以改的。
喜欢Linux,喜欢Unix,常来ChinaUnix
喜欢钓鱼,喜欢黑坑,常去京钓网,
喜欢健身,常去游泳.frog free back butterfly swim
linux学习站:
UID空间积分0 积分101阅读权限10帖子精华可用积分101 信誉积分88 专家积分0 在线时间55 小时注册时间最后登录
白手起家, 积分 101, 距离下一级还需 99 积分
帖子主题精华可用积分101 信誉积分88 专家积分0 在线时间55 小时注册时间最后登录
论坛徽章:0
嗯,明白。&&
刚刚自己弄了一下& &下面这个方法就可以有选择性的选择某一行去替换,n代表某一行。
sed -r 'n s/(&string&)[^&]*(&\/string&)/\1999\2/'
UID空间积分0 积分333阅读权限20帖子精华可用积分333 信誉积分728 专家积分0 在线时间396 小时注册时间最后登录
稍有积蓄, 积分 333, 距离下一级还需 167 积分
帖子主题精华可用积分333 信誉积分728 专家积分0 在线时间396 小时注册时间最后登录
论坛徽章:1
我想问下1999后边的\2是什么意思啊?
UID163881空间积分0 积分9509阅读权限90帖子精华可用积分9509 信誉积分619 专家积分1 在线时间1446 小时注册时间最后登录
腰缠万贯, 积分 9509, 距离下一级还需 491 积分
帖子主题精华可用积分9509 信誉积分619 专家积分1 在线时间1446 小时注册时间最后登录
论坛徽章:0
sed -r 's/(&string&)[^&]*(&\/string&)/\1999\2/' file复制代码(&string&)为\1
(&\/string&)为\2
指前面中括号的内容,数字递增。
喜欢Linux,喜欢Unix,常来ChinaUnix
喜欢钓鱼,喜欢黑坑,常去京钓网,
喜欢健身,常去游泳.frog free back butterfly swim
linux学习站:
北京皓辰网域网络信息技术有限公司. 版权所有 京ICP证:060528号 北京市公安局海淀分局网监中心备案编号:
广播电视节目制作经营许可证(京) 字第1234号
中国互联网协会会员&&联系我们:
感谢所有关心和支持过ChinaUnix的朋友们
转载本站内容请注明原作者名及出处

我要回帖

更多关于 两个字符串赋值 的文章

 

随机推荐