Q624353765 发表于 2023-6-8 21:23:28

有关文本操作求教

我有一段文本,我想去除文本中重复的字,顺序不能打乱,每个字只保留一个,求如何实现

小蜗牛 发表于 2023-6-8 22:43:55

循环(0,取文本长度())
   如果(哈希表.是否存在(取字符()) ==假){
   加入字符(xxx,取字符())
   哈希表.插入(取字符())
}

山梦 发表于 2023-6-9 08:09:10

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


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

Q624353765 发表于 2023-6-9 08:18:55

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




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

Q624353765 发表于 2023-6-9 08:24:15

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




好了,完美解决

山梦 发表于 2023-6-9 10:04:34

Q624353765 发表于 2023-6-9 08:24
好了,完美解决

你这是用 哈希表 ?

Q624353765 发表于 2023-6-9 10:44:17

山梦 发表于 2023-6-9 10:04
你这是用 哈希表 ?

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

山梦 发表于 2023-6-9 11:18:48

<火山程序 类型 = "通常" 版本 = 1 />

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


}

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

weilai 发表于 2023-6-9 13:15:57

字符

Xelloss0618 发表于 2023-6-9 13:38:15

<火山程序 类型 = "通常" 版本 = 1 />

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