首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 转换字符
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-04 18:51:20 楼主
    表格内有很多类似 courseware('7112','3')的数据,
    比如courseware('7114','3')courseware('6','3')courseware('92','3')
    能不能有什么快速的转换方法

    转换成相应的
    courseware.php?id=7112&type=3
    courseware.php?id=7114&type=3
    courseware.php?id=6&type=3
    courseware.php?id=92&type=3
    40  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • ChinaOBS
    • 等级:
    发表于:2008-05-04 19:56:021楼 得分:0
    最先想到的是 笨 办法... ...
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-04 22:17:402楼 得分:0
    VBScript code
    Function ReplaceStr(strTemp$) strTemp = Replace(strTemp, "('", ".php?id=", 1, 1) strTemp = Replace(strTemp, "','", "&type=", 1, 1) ReplaceStr = Replace(strTemp, "')", "", 1, 1) End Function Sub test() Debug.Print ReplaceStr("courseware('7114','3')") Debug.Print ReplaceStr("courseware('6','3')") Debug.Print ReplaceStr("courseware('92','3')") End Sub

    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-04 22:21:473楼 得分:0
    沙发上的别笑话我的这个笨办法 ^_^
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-05 02:48:564楼 得分:0
    我现在手头没有 Excel,但是我可以提供一个思路。
    假设A1是courseware('7112','3')
    在B1输入 =Replace(A1,1,12,"courseware.php?id=")就可以转换成courseware.php?id=7112','3')
    对于得出的这个字符,我们可以用Find找出 ','的位置
    =Find(",",Replace(A1,1,12,"courseware.php?id="))
    找出这个位置干嘛用呢,用Left 函数取','之前的部分
    =Left(Replace(A1,1,12,"courseware.php?id="),(Find(",",Replace(A1,1,12,"courseware.php?id="))-2)
    然后就可以得出courseware.php?id=7112
    至于3,可以用Right函数得出 Left(right(A1,3),1)
    然后再把中间的字符连接上
    =Left(Replace(A1,1,12,"courseware.php?id="),(Find(",",Replace(A1,1,12,"courseware.php?id="))-2) & "&type=" &  Left(right(A1,3),1)
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-05 08:41:215楼 得分:0
    用vba来做最快。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-05 08:46:246楼 得分:0
    ctrl+h
    3次替换就完成了。
    VB.NET code
    (' → .php?id= ',' → &type= ') → 空值(什么都不用输入)

    全部替换。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-05 09:29:267楼 得分:0
    楼上的做法我不是很支持,因为我自己处理过类似的数据,全面替换会误伤其它单元格内容的。如果楼主的表里全部是这样的数据,这种方法当然是很快的。

    我把公式完善了一下:
    =LEFT(REPLACE(A1,1,12,"courseware.php?id="),(FIND(",",REPLACE(A1,1,12,"courseware.php?id="))-2))&"&type="&LEFT(RIGHT(A1,3),1)
    或者
    ="courseware.php?id=" & MID(A1,FIND("(",A1)+2,(FIND(",",A1)-FIND("(",A1)-3)) & "&type=" &  LEFT(RIGHT(A1,3),1)
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • bjsun
    • 等级:
    发表于:2008-05-08 16:39:018楼 得分:0
    该回复于2008-05-09 09:40:44被管理员删除
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • liuyann
    • 等级:
    发表于:2008-05-18 14:47:549楼 得分:0
    courseware('7114','3')courseware('6','3')courseware('92','3')

    step1
    replace courseware(' to ^pcourseware.php?id=

    step 2
    replace ',' to &type=

    step 3
    replace ') to 空
       
    ==== ====

    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    世纪乐知(北京)网络技术有限公司 版权所有 京 ICP 证 020026 号
    Copyright © 2000-2007, CSDN.NET, All Rights Reserved