精易论坛
标题: 文本相连和不相连求助 [打印本页]
作者: csc123 时间: 2025-2-14 18:49
标题: 文本相连和不相连求助
一段文本: "1,1,0,1,0,1,1,0,1,1,0,1,1,1,1,0,1,1,0,0,0,0,0,1,1,0,1,0,"想知道这段文本中1相连的次数和1不相连的次数
作者: 大漠小鸟 时间: 2025-2-14 18:49
文本相连和不相连求助 (“1,1,0,1,0,1,1,0,1,1,0,1,1,1,1,0,1,1,0,0,0,0,0,1,1,0,1,0”, 0, 0
)|
文本相连和不相连求助 | | |
|
文本 | 文本型 | | | |
相连数 | 整数型 | | | | 不相连数 | 整数型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 |
分割的文本 | 文本型 | | 0 |
i | 整数型 | | |
连续赋值 (0, 相连数, 不相连数
)分割的文本 =
分割文本 (子文本替换 (文本,
“,”, , , ,
真),
“0”,
)
计次循环首 (取数组成员数 (分割的文本
), i
)
i =
取文本长度 (分割的文本
[i
])
判断 (i > 1
)

相连数 = 相连数 + 1

判断 (i = 1
)

不相连数 = 不相连数 + 1






计次循环尾 ()调试输出 (相连数, 不相连数
)
作者: 高先生 时间: 2025-2-14 19:01
窗口程序集名 | 保 留 | 保 留 | 备 注 |
窗口程序集_启动窗口 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 |
文本 | 文本型 | | |
text | 文本型 | | 0 |
x | 整数型 | | |
开始连续 | 逻辑型 | | |
次数 | 整数型 | | |
不连续 | 逻辑型 | | |
不连次数 | 整数型 | | |
文本 =
“1,1,0,1,0,1,1,0,1,1,0,1,1,1,1,0,1,1,0,0,0,0,0,1,1,0,1,0,”text =
分割文本 (文本,
“,”,
)
计次循环首 (取数组成员数 (text
), x
)
如果真 (text
[x
] =
“0”)

开始连续 = 假


不连次数 = 不连次数 + 1

如果真 (开始连续 =
真)

次数 = 次数 + 1

如果真 (text
[x
] =
“1”)

开始连续 = 真


不连续 = 真


计次循环尾 ()调试输出 (次数
)调试输出 (不连次数
)
补充内容 (2025-2-14 19:05):
如果不只有1和0 就改 上面的text[x]<>0 不等于0
作者: csc123 时间: 2025-2-14 19:17
感谢回复,但这不是我相要的
文本 = “1,1,0,1,0,1,1,0,1,1,0,1,1,1,1,0,1,1,0,0,0,0,0,1,1,0,1,0,”
这文本中的 1,1和1,1,1,1,这些是算是连1次,不是连几次
肉眼看:结果是相连 6 次 不连 2次
补充内容 (2025-2-14 19:18):
这数据只是小部分而已,只有0和1,没其它数字了
作者: 算法艺术家 时间: 2025-2-14 19:18
变量名 | 类 型 | 静态 | 数组 | 备 注 |
文本 | 文本型 | | |
分割1 | 文本型 | | 0 |
分割2 | 文本型 | | 0 |
文本 =
“1,1,0,1,0,1,1,0,1,1,0,1,1,1,1,0,1,1,0,0,0,0,0,1,1,0,1,0,”分割1 =
分割文本 (文本,
“1,1”,
)分割2 =
分割文本 (文本,
“0,”,
)调试输出 (取数组成员数 (分割1
))
调试输出 (取数组成员数 (分割2
))
作者: csc123 时间: 2025-2-14 19:20
感谢回复,结果和上面那位大佬相同,可能是我需求没表达清楚,抱歉
作者: 高先生 时间: 2025-2-14 19:32
窗口程序集名 | 保 留 | 保 留 | 备 注 |
窗口程序集_启动窗口 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 |
文本 | 文本型 | | |
text | 文本型 | | 0 |
x | 整数型 | | |
开始连续 | 逻辑型 | | |
次数 | 整数型 | | |
不连续 | 逻辑型 | | |
不连次数 | 整数型 | | |
tsxt | 整数型 | | |
加过 | 逻辑型 | | |
文本 =
“1,1,0,1,0,1,1,0,1,1,0,1,1,1,1,0,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,0,0,0,0,0,1”text =
分割文本 (文本,
“,”,
)开始连续 = 假
计次循环首 (取数组成员数 (text
), x
)
如果真 (开始连续 =
真)

如果真 (加过 ≠
真)


如果真 (text
[x
] =
“1”)



次数 = 次数 + 1




加过 = 真






如果真 (text
[x
] =
“0”)


不连次数 = 不连次数 + 1



开始连续 = 假



加过 = 假




如果真 (text
[x
] =
“1”)

开始连续 = 真


计次循环尾 ()调试输出 (次数
)调试输出 (不连次数
)
作者: 洋滨 时间: 2025-2-14 19:34
变量名 | 类 型 | 静态 | 数组 | 备 注 |
文本 | 文本型 | | |
text | 文本型 | | 0 |
x | 整数型 | | |
相连中 | 逻辑型 | | |
相连次数 | 整数型 | | |
len | 整数型 | | |
文本 =
“1,1,0,1,0,1,1,0,1,1,0,1,1,1,1,0,1,1,0,0,0,0,0,1,1,0,1,0,”text =
分割文本 (文本,
“,”,
)len =
取数组成员数 (text
)
计次循环首 (len, x
)
如果真 (x = len
)
跳出循环 ()


判断 (text
[x + 1
] = text
[x
] 且 text
[x
] =
“1”)

如果真 (相连中 =
假)


相连次数 = 相连次数 + 1


调试输出 (x
)


相连中 = 真








相连中 = 假


计次循环尾 ()调试输出 (“相连次数”, 相连次数
)
作者: aiky123 时间: 2025-2-14 20:10
正则匹配 (1,){2,} 匹配数量就是连续1的连续数量
匹配不连续 (1,){2,}(0,)+ 不清楚你不相连次数具体指什么
作者: wangood 时间: 2025-2-14 20:16
.版本 2
.支持库 spec
.子程序 __启动窗口_创建完毕
.局部变量 文本, 文本型
.局部变量 text, 文本型, , "0"
.局部变量 x, 整数型
.局部变量 连续, 逻辑型
.局部变量 相连次数, 整数型
.局部变量 不连次数, 整数型
.局部变量 当前字符, 文本型
文本 = "1,1,0,1,0,1,1,0,1,1,0,1,1,1,1,0,1,1,0,0,0,0,0,1,1,0,1,0"
text = 分割文本 (文本, ",", )
连续 = 假
相连次数 = 0
不连次数 = 0
.计次循环首 (取数组成员数 (text), x)
当前字符 = text[x]
.如果 (当前字符 = "1")
.如果 (连续 = 假)
相连次数 = 相连次数 + 1
连续 = 真
.否则
连续 = 假
不连次数 = 不连次数 + 1
.如果结束
.计次循环尾 ()
调试输出 ("相连次数: ", 相连次数)
调试输出 ("不连次数: ", 不连次数)
===========================================
对于输入文本 "1,1,0,1,0,1,1,0,1,1,0,1,1,1,1,0,1,1,0,0,0,0,0,1,1,0,1,0",程序会输出:
相连次数: 6
不连次数: 11
作者: 鹏书 时间: 2025-2-14 20:20
相连6次可以理解 不连为什么会是2次?
作者: haoren1212 时间: 2025-2-14 21:02
子程序_文本连续性 (“1,1,0,1,0,1,1,0,1,1,0,1,1,1,1,0,1,1,0,0,0,0,0,1,1,0,1,0,”, 1, ,
)|
子程序_文本连续性 | | |
|
文本 | 文本型 | | | |
判断参数 | 整数型 | | | | 连续次数 | 整数型 | | | | 不连续次数 | 整数型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 |
文本 | 文本型 | | |
文本数组 | 文本型 | | 0 |
i | 整数型 | | |
文本 =
“1,1,0,1,0,1,1,0,1,1,0,1,1,1,1,0,1,1,0,0,0,0,0,1,1,0,1,0,”文本数组 =
分割文本 (文本,
“,”,
)
计次循环首 (取数组成员数 (文本数组
), i
)
如果真 (文本数组
[i
] =
到文本 (判断参数
))


如果真 (i = 1
) 


判断 (文本数组
[i
] = 文本数组
[i + 1
])



连续次数 = 连续次数 + 1














如果真 (i =
取数组成员数 (文本数组
))



判断 (文本数组
[i
] = 文本数组
[i - 1
])



连续次数 = 连续次数 + 1














如果真 (i ≠ 1
且 i ≠
取数组成员数 (文本数组
))



判断 (文本数组
[i
] ≠ 文本数组
[i - 1
] 且 文本数组
[i
] = 文本数组
[i + 1
])



连续次数 = 连续次数 + 1



判断 (文本数组
[i
] ≠ 文本数组
[i - 1
] 且 文本数组
[i
] ≠ 文本数组
[i + 1
])



不连续次数 = 不连续次数 + 1

















计次循环尾 ()调试输出 (连续次数
)调试输出 (不连续次数
)
补充内容 (2025-2-14 21:10):
测试结果1连续次数6不连续次数2,0连续次数1不连续次数6,判断文本数组尾部的时候有问题,在第二个如果真下的判断不成立加一句不连续次数+1就行
作者: csc123 时间: 2025-2-14 21:40
两次0,1,0,不就是两次吗?
作者: csc123 时间: 2025-2-14 21:49
差一点点,基本上了,上面的基础上加上后面两个1试下.
文本 = “1,1,0,1,0,1,1,0,1,1,0,1,1,1,1,0,1,1,0,0,0,0,0,1,1,0,1,0,1,1,”
直接变成8次了
欢迎光临 精易论坛 (https://125.confly.eu.org/) |
Powered by Discuz! X3.4 |