【问题标题】:compare 2 string to get result different比较 2 个字符串以获得不同的结果
【发布时间】:2013-05-21 02:39:37
【问题描述】:

我正在做一个能够返回我之前数据和之后数据有什么不同的方法

Dim dataBefore As String = "Name:Alice,Age:30,Sex:Male"
Dim dataAfter As String = "Name:Alice,Age:20,Sex:Female"
mtdCompare2String(dataBefore,dataAfter)




Public Shared Function mtdCompare2String(ByVal sBefore As String, ByVal sAfter As String) As String

//what i try to do before, supposing my loop should start over here but i failed, 
//so i just removed the loop, i need someone to correct me =(

Dim intBefore As Integer = sBefore.IndexOf(",")
Dim intAfter As Integer = sAfter.IndexOf(",")
Dim sBefore As String = sBefore.SubString(0,intBefore)
Dim sAfter As String = sAfter.SubString(sAfter.IndexOf(":"),intAfter)



Dim sb As StringBuilder
sb.append(sBefore,sAfter)

return sb.toString     

End Function

预期结果

年龄:30>20,性别:男>女

【问题讨论】:

  • 你的函数有什么错误吗?
  • 没有错误,但是返回结果不好,我会更新它

标签: asp.net vb.net vb6


【解决方案1】:

这样的事情应该可以工作:

Public Shared Function mtdCompare2String(ByVal sBefore As String, ByVal sAfter As String) As String

    'what i try to do before, supposing my loop should start over here but i failed, 
    'so i just removed the loop, i need someone to correct me =(

    Dim Before() As String = sBefore.Split(",")
    Dim After() As String = sAfter.Split(",")
    Dim ReturnString As String = ""
    For I = 0 To Before.Length - 1
        Dim TempBefore As String = Before(I).Split(":")(1)
        Dim TempAfter As String = After(I).Split(":")(1)
        If TempBefore <> TempAfter Then
            ReturnString += Before(I).Split(":")(0) + ":" + TempBefore + ">" + TempAfter + ","
        End If
    Next
    Return ReturnString.Substring(0, ReturnString.Length - 1)
End Function

【讨论】:

  • 我给了你一个 +1,但我认为你应该编辑你的答案以显示正在发生的事情。仅显示代码不会显示 OP 或其他任何人稍后发现它的原因。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-11-14
  • 1970-01-01
  • 2011-11-26
  • 1970-01-01
  • 2023-03-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多