Изменение любого символа в строке

Тема в разделе ".NET", создана пользователем Adiost, 24 июл 2010.

  1. Adiost

    Adiost Гость

    Репутация:
    0
    Имеется переменная, строка, похожая на это: "98b11028-09db-4499-b288-1c6bfa42cb01".
    Задача - изменить один, случайный символ (кроме "-") на любой другой. Как такое провернуть?
     
  2. Adiost

    Adiost Гость

    Репутация:
    0
    Поднимаю тему, т.к. вопрос для меня еще актуален.
     
  3. Adiost

    Adiost Гость

    Репутация:
    0
    Здесь что, все померли что ли?
     
  4. BStudio

    BStudio Гость

    Репутация:
    0
    Э-эх! Ща замутим....

    [Спустя пару часов]:
    Код (LotusScript):
    'Это нам пригодится для удобного рандомайза
    Public Function GenRndNumber(ByVal Lower%, ByVal Upper%)
    Randomize
    GenRndNumber = Int((Upper% - Lower% + 1) * Rnd + Lower%)
    End Function

    'Эта функция будет принимать строку и возвращать изменённую
    Private Function OLOLO(ByVal STR$)
    'Рандомим, какой символ заменять будем
    ONCEMORE:
    Dim SymbolNum% = GenRndNumber(0, STR.Length)
    Dim MODE% = 1
    Dim N$ = "", S$ = ""
    'Ахалай-махалай..
    N = Microsoft.VisualBasic.Right(STR, SymbolNum)
    MODE = GenRndNumber(1, 3)
    If N.Length > 1 Then
    STR = STR.Replace(N.Remove(0, 1), "")
    S = N.Remove(1)
    Else : GoTo ONCEMORE
    End If
    If S = "-" Then GoTo ONCEMORE
    Select Case MODE
    'Меняем на цифру
    Case 1 : OLOLO = STR.Replace(S, Chr(GenRndNumber(Asc("0"), Asc("9")))) & N.Remove(0, 1)
    'Меняем на букву верхнего регистра
    Case 2 : OLOLO = STR.Replace(S, Chr(GenRndNumber(Asc("A"), Asc("Z")))) & N.Remove(0, 1)
    'Меняем на букву нижнего регистра
    Case Else : OLOLO = STR.Replace(S, Chr(GenRndNumber(Asc("a"), Asc("z")))) & N.Remove(0, 1)
    End Select
    End Sub
    О-ох... Мучился-мучился. Не знаю, что из этого выйдет, но могу сказать одно: затея - говно.

    Кроме того :: Привыкай к своей голове. А если там ничего нет и ты
    не можешь с этим смириться, наполняй её книгами. <IMHO>

    ++
    Q: Что это за язык такой у твоего кода?
    A: Visual Basic (в MS Visual Studio 2010 должно работать).
     
  5. Adiost

    Adiost Гость

    Репутация:
    0
    BStudio
    О, не совсем то, что я хотел, но под себя без проблем подгоню.
    Огромное спасибо!
     
  6. BStudio

    BStudio Гость

    Репутация:
    0
    :) На здоровье.

    Одно мне не нравится на этом форуме, что тут в-основном только советы давать многие горазды.
     
  7. BStudio

    BStudio Гость

    Репутация:
    0
    Либо объяснение с примерами (необязательно большими), либо ничего вообще.
     
Загрузка...

Поделиться этой страницей