Скажем, у меня есть строка «N4NSD3MKF34MKMKFM53» и я хочу, чтобы умножить строку * 2, чтобы получитьтолько умножать числа в смешанной строке [VB.Net]
N8NSD6MKF68MKMKFM106 Как бы я идти об этом?
Скажем, у меня есть строка «N4NSD3MKF34MKMKFM53» и я хочу, чтобы умножить строку * 2, чтобы получитьтолько умножать числа в смешанной строке [VB.Net]
N8NSD6MKF68MKMKFM106 Как бы я идти об этом?
Хорошо, я мог бы также дать вам решение Regex, пока я здесь. Но я предупреждаю вас не использовать его, если вы не понимаете, что он делает. Никогда не рекомендуется просто копировать и вставлять код, который вы не полностью понимаете.
Dim input As String = "N4NSD3MKF34MKMKFM53"
Dim output As String = Regex.Replace(
input,
"\d+",
Function(x) (Integer.Parse(x.Value) * 2).ToString())
Вы можете попробовать следующий код:
Public Class Program
Public Shared Sub Main(args As String())
Const expression As String = "N4NSD3MKF34MKMKFM53"
Dim result = MultiplyExpression.Calculate(expression)
Console.WriteLine(result)
End Sub
End Class
Class MultiplyExpression
Public Shared Function Calculate(expression As String) As String
Dim result = String.Empty
For Each c In expression
Dim num As Integer
If Int32.TryParse(c.ToString(), num) Then
result += (num * 2).ToString()
Else
result += c
End If
Next
Return result
End Function
End Class
Выход: N8NSD6MKF68MKMKFM106
Пробовали ли вы что-нибудь? – Serge
Пробовал перемножать строку * 2 – Brandon
Итак, у вас есть код написан. Не могли бы вы поделиться им с нами? – Serge