以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  这个字符串的比较代码怎么写  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=124387)

--  作者:YDS
--  发布时间:2018/9/5 12:56:00
--  这个字符串的比较代码怎么写
日期报餐用餐报餐未用餐用餐未报餐
2018/9/5张三,李四,王五李四,王五,赵六

报餐表如上图
1.有新报餐的时候可以检索名字是否存在,不存在添加,这个代码好写,但是已经存在了怎么去掉?如果这个人排在第一个,要删除【姓名加逗号】  如果排在最后一个  要删除【逗号加姓名】  如果只有一个人  直接清空  如果人多又不在上述情况则删除【逗号加姓名】,这样的逻辑有没有简单的代码可以实现?
2.如何对报餐和用餐列进行对比,名字在报餐不在用餐的添加到报餐未用餐  

--  作者:有点甜
--  发布时间:2018/9/5 13:07:00
--  
Dim ls1 = "1,2,3".split(",")
Dim ls2 = "aa,1,2,cc".split(",")
Dim s1 As String = ""
For Each s As String In ls2
    If array.Indexof(ls1, s) < 0 Then
        s1 &= s & ","
    End If
Next
msgbox(s1)

--  作者:YDS
--  发布时间:2018/9/5 13:21:00
--  
非常感谢,那第一点要求有没有简单一点的代码
--  作者:有点甜
--  发布时间:2018/9/5 15:10:00
--  

怎么比较,输入什么,比较什么,最后得到什么?

 

Dim s1 As String = "aaa,bbb,ccc"
Dim s2 As String = "bbb1"
If s1.contains(s2) = False Then
    s1 = s1 & "," & s2
End If
msgbox(s1)


--  作者:YDS
--  发布时间:2018/9/5 15:41:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:tim截图20180905153656.jpg
图片点击可在新窗口打开查看

有新的报餐更改的时候如果是新增报餐,在【报餐】列检索该名字是否存在,不存在则添加,如果是删除报餐,就是名字在【报餐】列已经存在了要怎么去掉?如果这个人排在第一个,要删除【姓名加逗号】  如果排在最后一个  要删除【逗号加姓名】  如果只有一个人  直接清空  如果人多又不在上述情况则删除【逗号加姓名】,这样的逻辑有没有简单的代码可以实现?

--  作者:有点甜
--  发布时间:2018/9/5 15:44:00
--  
请直接说,在哪里输入什么,最后得到什么?怎么比较?
--  作者:YDS
--  发布时间:2018/9/5 16:01:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:0011.jpg
图片点击可在新窗口打开查看

就是在这个页面有新的报餐更改的时候如果是新增报餐,在【报餐】列检索该名字是否存在,不存在则添加,如果是删除报餐,就是名字在【报餐】列已经存在了要怎么去掉?如果这个人排在第一个,要删除【姓名加逗号】  如果排在最后一个  要删除【逗号加姓名】  如果只有一个人  直接清空  如果人多又不在上述情况则删除【逗号加姓名】,这样的逻辑有没有简单的代码可以实现?

--  作者:有点甜
--  发布时间:2018/9/5 16:12:00
--  

参考代码

 

Dim s1 As String = "aaa,bbb,ccc"
Dim s2 As String = "bbb1"
If s1.contains(s2) = False Then
    s1 = s1 & "," & s2
End If
msgbox(s1)


--  作者:YDS
--  发布时间:2018/9/5 16:13:00
--  
以下是引用有点甜在2018/9/5 16:12:00的发言:

参考代码

 

Dim s1 As String = "aaa,bbb,ccc"
Dim s2 As String = "bbb1"
If s1.contains(s2) = False Then
    s1 = s1 & "," & s2
End If
msgbox(s1)




如果报餐以后又想去掉呢?


--  作者:有点甜
--  发布时间:2018/9/5 16:56:00
--  

删掉的参考

 

Dim s1 As String = "aaa,bbb,ccc"
Dim s2 As String = "aaa"
If s1.contains(s2) Then
    s1 = ("," & s1 & ",").Replace("," & s2 & ",", ",")
End If
msgbox(s1.trim(","))