| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 9240 人关注过本帖, 1 人收藏
标题:如何判断一个字符串中是否包含特定字符串 并标记出来
只看楼主 加入收藏
easonchou
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2017-10-12
结帖率:100%
收藏(1)
已结贴  问题点数:20 回复次数:14 
如何判断一个字符串中是否包含特定字符串 并标记出来
举例
a=西瓜1 菠萝5  蜜桃3
b=菠萝 桔子 西瓜 番茄 苹果 柚子
首先判断a中的水果是否都在b中,b中没有蜜桃,最终返回的结果是“西瓜1 菠萝5  蜜桃3”蜜桃标记为红色加粗字体 其余不变。
帮忙写一段详细的代码,非常感谢。
搜索更多相关主题的帖子: 判断 字符串 是否 包含 特定 
2017-10-13 00:05
xiangyue0510
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:86
帖 子:941
专家分:5244
注 册:2015-8-10
收藏
得分:0 
本论坛严禁求代码,帮作业的帖子。
但是欢迎就具体的问题求思路、讨论。
2017-10-13 08:37
ZHRXJR
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:125
帖 子:1034
专家分:5519
注 册:2016-5-10
收藏
得分:20 
非常简单:
图片附件: 游客没有浏览图片的权限,请 登录注册

程序代码:
Private Sub Form_Load()
Dim A, B, I As Integer, J As Integer, C() As String
A = Array("西瓜1", "菠萝5", "蜜桃3")
B = Array("菠萝", "桔子", "西瓜", "番茄", "苹果", "柚子")
ReDim C(0 To UBound(A))    'C的下标应该与A的下标相同
For I = 0 To UBound(A)
    For J = 0 To UBound(B)
        If InStr(1, A(I), B(J), 1) > 0 Then
        C(I) = "存在"
        End If
    Next J
Next I
For I = 0 To UBound(A)
If C(I) = "存在" Then
Label1.Caption = Label1.Caption & A(I) & Space(6)
ElseIf C(I) = "" Then
Label2.Caption = Label2.Caption & A(I) & Space(6)
End If
Next I
End Sub

请不要选我!!!
2017-10-13 10:11
easonchou
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2017-10-12
收藏
得分:0 
感谢版主的代码,可能我的意思没有表达清楚
[local]1[/local]
在Text1里面输入“西瓜1 菠萝5 蜜桃3”
按下Command1,Text2得到的结果是“西瓜1 菠萝5 蜜桃3
Text1里面输入的数据后面都带有空格,但是数量是不确定的,有可能是“西瓜1 菠萝5 蜜桃3”,也有可能是“西瓜2 桔子1 蜜桃4 番茄3”,得出的结果是“西瓜2 桔子1 蜜桃4 番茄3”
也就是说在你的代码里面A的数据和个数都是不确定的,B是确定的。

[此贴子已经被作者于2017-10-15 00:03编辑过]

2017-10-15 00:02
easonchou
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2017-10-12
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册
2017-10-15 00:02
xyxcc177
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:26
帖 子:197
专家分:1249
注 册:2017-7-8
收藏
得分:0 
文本框字体颜色只能是一种
2017-10-15 06:23
easonchou
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2017-10-12
收藏
得分:0 
除了文本框 还有什么控件输出后是可以编辑的呢?
2017-10-15 08:30
ZHRXJR
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:125
帖 子:1034
专家分:5519
注 册:2016-5-10
收藏
得分:0 
回复 4楼 easonchou
Text1中是原始数据,比较的是Text2中的数据,那么你可以将Text1的数据分割到数组A中,数组B是一定的吧。
将分割数组A的代码及我发给你的代码均放在 Command1_Click 事件中就可以了呀。
另外,一个文本框中只能显示一种字体与颜色,一个文本框不可能显示不同的颜色与字体
除非你使用 wp231957 所说的富文本框。

[此贴子已经被作者于2017-10-15 09:17编辑过]


请不要选我!!!
2017-10-15 08:51
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
RICHTEXT ??

DO IT YOURSELF !
2017-10-15 09:00
easonchou
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2017-10-12
收藏
得分:0 
回复 8楼 ZHRXJR
标签不是也只能显示一种颜色么,请问你是怎么把标签1和标签2无缝组合到一起去的呢
另外我按照你的思路把文本框里的数据提取到数组里面了,但是效果和你原本的代码不一样,只要和数组B里面的一个字相同,就到标签1里面去了,帮忙再看一下,谢谢
程序代码:
Private Sub Command1_Click()
Dim B, I As Integer, J As Integer, C() As String, D() As String
Label1.Caption = ""
Label2.Caption = ""
Text1.Text = Replace(Text1.Text, " ", ",")
D() = Split(Text1.Text, ",")
'Print D(3)
B = Array("菠萝", "桔子", "西瓜", "番茄", "苹果", "柚子")
ReDim C(0 To UBound(D))    'C的下标应该与A的下标相同
For I = 0 To UBound(D)
    For J = 0 To UBound(B)
        If InStr(1, D(I), B(J), 1) > 0 Then
        C(I) = "存在"
        End If
    Next J
Next I
For I = 0 To UBound(D)
If C(I) = "存在" Then
RichTextBox1.Text = Label1.Caption & D(I) & Space(1)
ElseIf C(I) = "" Then
Label2.Caption = Label2.Caption & D(I) & Space(1)
End If
Next I
Text1.Text = Replace(Text1.Text, ",", " ")
End Sub
2017-10-16 00:31
快速回复:如何判断一个字符串中是否包含特定字符串 并标记出来
数据加载中...
 
   



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

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