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

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

  1. Adiost

    Adiost Гость

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

    Adiost Гость

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

    Adiost Гость

    Здесь что, все померли что ли?
     
  4. BStudio

    BStudio Гость

    Э-эх! Ща замутим....

    [Спустя пару часов]:
    Код (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 Гость

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

    BStudio Гость

    :) На здоровье.

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

    BStudio Гость

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

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