火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
查看: 1550|回复: 10
打印 上一主题 下一主题

[视窗] 有关文本操作求教

[复制链接]

203

主题

422

帖子

2637

积分

金牌会员

Rank: 6Rank: 6

积分
2637
QQ
跳转到指定楼层
楼主
发表于 2023-6-8 21:23:28 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
我有一段文本,我想去除文本中重复的字,顺序不能打乱,每个字只保留一个,求如何实现
回复

使用道具 举报

75

主题

832

帖子

4249

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
4249
沙发
发表于 2023-6-8 22:43:55 | 只看该作者
循环(0,取文本长度())
   如果(哈希表.是否存在(取字符()) ==假){
     加入字符(xxx,取字符())
     哈希表.插入(取字符())
  }
回复

使用道具 举报

32

主题

440

帖子

2179

积分

金牌会员

Rank: 6Rank: 6

积分
2179
板凳
发表于 2023-6-9 08:09:10 | 只看该作者
小蜗牛 发表于 2023-6-8 22:43
循环(0,取文本长度())
   如果(哈希表.是否存在(取字符()) ==假){
     加入字符(xxx,取字符())

大佬,看不懂。能写得详细点?
回复

使用道具 举报

203

主题

422

帖子

2637

积分

金牌会员

Rank: 6Rank: 6

积分
2637
QQ
地板
 楼主| 发表于 2023-6-9 08:18:55 | 只看该作者
小蜗牛 发表于 2023-6-8 22:43
循环(0,取文本长度())
   如果(哈希表.是否存在(取字符()) ==假){
     加入字符(xxx,取字符())



哈希表数据是一段一段的,还有其他方法能直接取出文本的吗
回复

使用道具 举报

203

主题

422

帖子

2637

积分

金牌会员

Rank: 6Rank: 6

积分
2637
QQ
5#
 楼主| 发表于 2023-6-9 08:24:15 | 只看该作者
小蜗牛 发表于 2023-6-8 22:43
循环(0,取文本长度())
   如果(哈希表.是否存在(取字符()) ==假){
     加入字符(xxx,取字符())



好了,完美解决
回复

使用道具 举报

32

主题

440

帖子

2179

积分

金牌会员

Rank: 6Rank: 6

积分
2179
6#
发表于 2023-6-9 10:04:34 | 只看该作者

你这是用 哈希表 ?
回复

使用道具 举报

203

主题

422

帖子

2637

积分

金牌会员

Rank: 6Rank: 6

积分
2637
QQ
7#
 楼主| 发表于 2023-6-9 10:44:17 | 只看该作者
山梦 发表于 2023-6-9 10:04
你这是用 哈希表 ?

没找到哈希表,最相似的是文本哈希集,能实现效果就行了
回复

使用道具 举报

32

主题

440

帖子

2179

积分

金牌会员

Rank: 6Rank: 6

积分
2179
8#
发表于 2023-6-9 11:18:48 | 只看该作者
<火山程序 类型 = "通常" 版本 = 1 />

方法 文本_去重留一 <公开 静态 类型 = 文本型>
参数 参数_原文本 <类型 = 文本型>
参数 参数_分割符 <类型 = 文本型 注释 = "用重复字作分割符">
{
    变量 分割后文本 <类型 = 文本数组类>
    变量 存放文本 <类型 = 文本型>
    分割文本 (参数_原文本, 参数_分割符, 分割后文本, , )
    计次循环 (分割后文本.取成员数 ())
    {
        如果真 (寻找文本 (存放文本, 分割后文本.取成员 (取循环索引 ()) + 参数_分割符, , 假) == -1)
        {
            存放文本 = 存放文本 + 分割后文本.取成员 (取循环索引 ()) + 参数_分割符
        }
    }
    返回 (存放文本)


}

——————————————
我抄别人的!
回复

使用道具 举报

16

主题

310

帖子

2611

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
2611
9#
发表于 2023-6-9 13:15:57 来自手机 | 只看该作者
字符[75535]
回复

使用道具 举报

26

主题

1499

帖子

5631

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
5631
10#
发表于 2023-6-9 13:38:15 来自手机 | 只看该作者
<火山程序 类型 = "通常" 版本 = 1 />

方法 文本去重 <公开 静态 类型 = 文本型 注释 = "去除文本中的重复字符,不打乱顺序.">
参数 所欲去重的文本 <类型 = 文本型>
{
    变量 去重结果 <类型 = 文本型>
    变量 过滤 <类型 = 整数哈希集>
    变量 文本长度 <类型 = 整数>
    变量 测试字符 <类型 = 字符>
    文本长度 = 取文本长度 (所欲去重的文本)
    置文本预分配字符数 (去重结果, 文本长度)
    计次循环 (文本长度)
    {
        测试字符 = 取字符 (所欲去重的文本, 取循环索引 ())
        如果 (过滤.插入 (测试字符) == 真)
        {
            加入字符 (去重结果, 测试字符)
        }
    }
    返回 (去重结果)
}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2024-5-17 17:08 , Processed in 0.083294 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表