| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 891 人关注过本帖
标题:字符串替换求助!
只看楼主 加入收藏
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10551
专家分:42996
注 册:2014-5-20
收藏(1)
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册

程序代码:
CREATE CURSOR test (xm c(30))
INSERT INTO test VALUES ("张三、张三、李四")
INSERT INTO test VALUES ("刘三、李四、刘三")
INSERT INTO test VALUES ("李四江、刘三、李四、刘三")
SELECT *, PADR(fun(),30," ") new_xm FROM test

FUNCTION fun()
    ALINES(arr,xm,15,"、")
    DIMENSION tmp[ALEN(arr)]
    tmp[1] = arr[1]
    ret = arr[1]
    k = 1
    FOR i=2 TO ALEN(arr)
        IF ASCAN(tmp,arr[i],1,-1,-1,15) == 0
            k = k + 1
            tmp[k] = arr[i]
            ret = ret + "、" + arr[i]
        ENDIF
    ENDFOR
    RETURN ret
ENDFUNC
2023-04-20 09:40
wangguowu
Rank: 2
等 级:论坛游民
帖 子:67
专家分:18
注 册:2012-2-15
收藏
得分:0 
回复 8楼 sdta
这个可以用,但列转行不止姓名一列,有:证件类型,证件号码等多个字段,是否要分别建不同函数名来对字段操作!
2023-04-20 10:02
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9806
专家分:26967
注 册:2012-2-5
收藏
得分:0 
上传相关文件看看

坚守VFP最后的阵地
2023-04-20 10:04
wangguowu
Rank: 2
等 级:论坛游民
帖 子:67
专家分:18
注 册:2012-2-15
收藏
得分:0 
回复 11楼 吹水佬
谢谢你,问题同上!
2023-04-20 10:05
wangguowu
Rank: 2
等 级:论坛游民
帖 子:67
专家分:18
注 册:2012-2-15
收藏
得分:0 
回复 13楼 sdta
tb.rar (420 Bytes)
2023-04-20 10:44
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9806
专家分:26967
注 册:2012-2-5
收藏
得分:0 
以下是引用wangguowu在2023-4-20 10:02:28的发言:

这个可以用,但列转行不止姓名一列,有:证件类型,证件号码等多个字段,是否要分别建不同函数名来对字段操作!

没明白意思

坚守VFP最后的阵地
2023-04-20 11:00
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10551
专家分:42996
注 册:2014-5-20
收藏(1)
得分:0 
回复 11楼 吹水佬
精简一下
程序代码:
CREATE CURSOR test (xm c(30))
INSERT INTO test VALUES ("张三、张三、李四")
INSERT INTO test VALUES ("刘三、李四、刘三")
INSERT INTO test VALUES ("李四江、刘三、李四、刘三")
SELECT *, PADR(fun(),30," ") new_xm FROM test

FUNCTION fun()
    ALINES(arr,xm,15,"、")
    ret = arr[1]
    FOR i=2 TO ALEN(arr)
        IF ASCAN(arr,arr[i],1,-1,-1,15) >= i
            ret = ret + "、" + arr[i]
        ENDIF
    ENDFOR
    RETURN ret
ENDFUNC
2023-04-20 11:22
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10551
专家分:42996
注 册:2014-5-20
收藏
得分:0 
以下是引用wangguowu在2023-4-20 10:02:28的发言:

这个可以用,但列转行不止姓名一列,有:证件类型,证件号码等多个字段,是否要分别建不同函数名来对字段操作!

转来转去有点麻烦
数据结构优化一下算法也许会简单些
2023-04-20 11:26
wangguowu
Rank: 2
等 级:论坛游民
帖 子:67
专家分:18
注 册:2012-2-15
收藏
得分:0 
回复 16楼 sdta
就是按权利人类别分组,其宅各列列转行!这个
数据要在报表中使用@
2023-04-20 13:02
快速回复:字符串替换求助!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024727 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved