递归火山软件开发平台

标题: 有关文本操作求教 [打印本页]

作者: Q624353765    时间: 2023-6-8 21:23
标题: 有关文本操作求教
我有一段文本,我想去除文本中重复的字,顺序不能打乱,每个字只保留一个,求如何实现

作者: 小蜗牛    时间: 2023-6-8 22:43
循环(0,取文本长度())
   如果(哈希表.是否存在(取字符()) ==假){
     加入字符(xxx,取字符())
     哈希表.插入(取字符())
  }
作者: 山梦    时间: 2023-6-9 08:09
小蜗牛 发表于 2023-6-8 22:43
循环(0,取文本长度())
   如果(哈希表.是否存在(取字符()) ==假){
     加入字符(xxx,取字符())

大佬,看不懂。能写得详细点?
作者: Q624353765    时间: 2023-6-9 08:18
小蜗牛 发表于 2023-6-8 22:43
循环(0,取文本长度())
   如果(哈希表.是否存在(取字符()) ==假){
     加入字符(xxx,取字符())

(, 下载次数: 77)

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

作者: Q624353765    时间: 2023-6-9 08:24
小蜗牛 发表于 2023-6-8 22:43
循环(0,取文本长度())
   如果(哈希表.是否存在(取字符()) ==假){
     加入字符(xxx,取字符())

(, 下载次数: 72)

好了,完美解决

作者: 山梦    时间: 2023-6-9 10:04
Q624353765 发表于 2023-6-9 08:24
好了,完美解决

你这是用 哈希表 ?
作者: Q624353765    时间: 2023-6-9 10:44
山梦 发表于 2023-6-9 10:04
你这是用 哈希表 ?

没找到哈希表,最相似的是文本哈希集,能实现效果就行了
作者: 山梦    时间: 2023-6-9 11:18
<火山程序 类型 = "通常" 版本 = 1 />

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


}

——————————————
我抄别人的!

作者: weilai    时间: 2023-6-9 13:15
字符[75535]
作者: Xelloss0618    时间: 2023-6-9 13:38
<火山程序 类型 = "通常" 版本 = 1 />

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

作者: 山梦    时间: 2023-6-9 14:24
Xelloss0618 发表于 2023-6-9 13:38
方法 文本去重
参数 所欲去重的文本
{

好!谢谢!




欢迎光临 递归火山软件开发平台 (https://bbs.voldp.com/) Powered by Discuz! X3.4