Автор Тема: В конец строки добавить скобку  (Прочитано 2911 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн eway [?]

  • Новичок
  • *
  • Сообщений: 5
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Есть текстовый файл со строками параметрами. Есть строки типа testParametrov(resultat,  0.0, testParametrov(resultat,  100,
Вот необходимо в конце этих строк добавить скобочку ")"
Пишу...
$hFile = FileOpenDialog('Выберите файл', @ScriptDir & "",  "Все (*.*)")
$sText = FileRead($hFile) ;Читаем файл

$sText = StringRegExpReplace($sText, "^testParametrov", ")$")


Помогите, пожалуйста, с регулярным выражением
« Последнее редактирование: Апрель 09, 2017, 21:48:27 от CreatoR »

Русское сообщество AutoIt

В конец строки добавить скобку
« Отправлен: Апрель 05, 2017, 14:57:03 »

Оффлайн Zmy [?]

  • Новичок
  • *
  • Сообщений: 6
  • Репутация: 1
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: В конец строки добавить скобку
« Ответ #1, Отправлен: Апрель 05, 2017, 15:23:46 »
Код: AutoIt [Выделить]
$sText = StringRegExpReplace($sText, "^(testParametro.+)", "$1)")

« Последнее редактирование: Апрель 09, 2017, 21:47:57 от CreatoR »

Оффлайн eway [?]

  • Новичок
  • *
  • Сообщений: 5

  • Автор темы
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: В конец строки добавить скобку
« Ответ #2, Отправлен: Апрель 05, 2017, 15:49:08 »
(resultat,   7.0
 вот что выдал на выводе... удалил testparametrov и скобку пока тоже не добавил...

Оффлайн Zmy [?]

  • Новичок
  • *
  • Сообщений: 6
  • Репутация: 1
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: В конец строки добавить скобку
« Ответ #3, Отправлен: Апрель 05, 2017, 15:53:38 »
Напишите конкретно, что надо удалить / заменить.

Исходный текст  -  Результатный текст

Русское сообщество AutoIt

Re: В конец строки добавить скобку
« Ответ #3 Отправлен: Апрель 05, 2017, 15:53:38 »

Оффлайн eway [?]

  • Новичок
  • *
  • Сообщений: 5

  • Автор темы
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: В конец строки добавить скобку
« Ответ #4, Отправлен: Апрель 05, 2017, 15:57:31 »
строки TestParametrov( resultat, 0.0
просто добавить скобочку чтобы выглядели так TestParametrov( resultat, 0.0)

Оффлайн Zmy [?]

  • Новичок
  • *
  • Сообщений: 6
  • Репутация: 1
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: В конец строки добавить скобку
« Ответ #5, Отправлен: Апрель 05, 2017, 18:43:55 »
Это что, весь скрипт что-ли?
Вы напишите свой скрипт сюда. Полностью весь скрипт.
Я не вижу, как вы получаете результат.
Куда выводится результат?
Сколько надо сделать замен?
Что происходит с результатом дальше?
Вообщем, задача пока не ясна. Нет задачи - нет решения.


(нажмите для показа/скрытия)
« Последнее редактирование: Апрель 05, 2017, 18:51:34 от Zmy »

Оффлайн ra4o [?]

  • Скриптер
  • ****
  • Сообщений: 691
  • Репутация: 118
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: В конец строки добавить скобку
« Ответ #6, Отправлен: Апрель 05, 2017, 20:02:11 »
Не силён в регулярных выражениях (только пытаюсь их освоить), но вот мой вариант :
(нажмите для показа/скрытия)

Оффлайн sngr [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 848
  • Репутация: 349
    • Награды
  • Версия AutoIt: 3.3.8.1
Re: В конец строки добавить скобку
« Ответ #7, Отправлен: Апрель 05, 2017, 21:26:34 »
Код: AutoIt [Выделить]
MsgBox(32,'',StringRegExpReplace(ClipGet(),'(testParametrov\(resultat,[^,]+),','\1)'))


Русское сообщество AutoIt

Re: В конец строки добавить скобку
« Ответ #7 Отправлен: Апрель 05, 2017, 21:26:34 »

Оффлайн Alofa [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 1235
  • Репутация: 174
  • Пол: Мужской
  • Windows7 (x64)
    • Награды
  • Версия AutoIt: 3.3.12.0
Re: В конец строки добавить скобку
« Ответ #8, Отправлен: Апрель 06, 2017, 01:26:15 »
Код: AutoIt [Выделить]
$sText = @CRLF & 'testParametrov(resultat,  0.0,' & @CRLF & _
        'testParametrov(resultat,  100 ' & @CRLF
ConsoleWrite(StringRegExpReplace($sText, '(.*\d+).*', '$1)') & @LF)


Оффлайн eway [?]

  • Новичок
  • *
  • Сообщений: 5

  • Автор темы
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: В конец строки добавить скобку
« Ответ #9, Отправлен: Апрель 06, 2017, 07:17:02 »
ребят не ставится....(


Внимание: Для просмотра прикреплённых файлов необходимо Войти или Зарегистрироваться

Оффлайн ildar [?]

  • Осваивающий
  • **
  • Сообщений: 244
  • Репутация: 28
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.8.1
Re: В конец строки добавить скобку
« Ответ #10, Отправлен: Апрель 06, 2017, 08:05:08 »
Обязательно регулярное выражение? Судя по вложению, достаточно найти данную строку и дописать ")"

Оффлайн eway [?]

  • Новичок
  • *
  • Сообщений: 5

  • Автор темы
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: В конец строки добавить скобку
« Ответ #11, Отправлен: Апрель 06, 2017, 08:11:49 »
как это можно сделать?

Оффлайн Zmy [?]

  • Новичок
  • *
  • Сообщений: 6
  • Репутация: 1
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: В конец строки добавить скобку
« Ответ #12, Отправлен: Апрель 06, 2017, 08:51:35 »
Вот готовый скрипт. Замените на свой путь.

Код: AutoIt [Выделить]
$sFile = 'C:\Kemp\temp.txt'

_OFile($sFile)
Func _OFile($sFile)
Local $sText = FileRead($sFile)
Local $hFile = FileOpen($sFile, 2)
Local $cFile = StringRegExpReplace($sText, "(?mi)(^\s*testParamet.+)", "$1)")
FileWrite($hFile, $cFile)
FileClose($hFile)
EndFunc

« Последнее редактирование: Август 17, 2017, 13:47:06 от Zmy »

Оффлайн ildar [?]

  • Осваивающий
  • **
  • Сообщений: 244
  • Репутация: 28
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.8.1
Re: В конец строки добавить скобку
« Ответ #13, Отправлен: Апрель 06, 2017, 08:53:22 »
Код: AutoIt [Выделить]
#include <File.au3>
Local $aRecords
$sTest = 'testParametrov(resultat,'
If Not _FileReadToArray('temp.txt', $arecords) Then
    MsgBox(4096, "Ошибка", " Ошибка чтения файла в массив     Ошибка = " & @error)
    Exit
EndIf
For $i = 0 To $arecords[0]
   If StringInStr($arecords[$i], $sTest) Then $arecords[$i] = $arecords[$i] & ')'
Next
_FileWriteFromArray('temp1.txt', $arecords)


Оффлайн Alofa [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 1235
  • Репутация: 174
  • Пол: Мужской
  • Windows7 (x64)
    • Награды
  • Версия AutoIt: 3.3.12.0
Re: В конец строки добавить скобку
« Ответ #14, Отправлен: Апрель 06, 2017, 12:35:44 »
eway может уже предоставите пример файла или дальше будем пальцем в небо тыкать?
« Последнее редактирование: Апрель 06, 2017, 17:36:18 от Alofa »

Русское сообщество AutoIt

Re: В конец строки добавить скобку
« Ответ #14 Отправлен: Апрель 06, 2017, 12:35:44 »

 

Похожие темы

  Тема / Автор Ответов Последний ответ
3 Ответов
2377 Просмотров
Последний ответ Июль 12, 2010, 15:04:17
от Kaster
5 Ответов
6713 Просмотров
Последний ответ Ноябрь 03, 2010, 19:56:39
от gregaz
4 Ответов
2956 Просмотров
Последний ответ Июль 02, 2011, 12:20:07
от Kaster
4 Ответов
3266 Просмотров
Последний ответ Сентябрь 03, 2011, 14:01:55
от Redline
14 Ответов
6047 Просмотров
Последний ответ Ноябрь 04, 2011, 15:02:57
от gregaz
8 Ответов
1983 Просмотров
Последний ответ Декабрь 06, 2013, 17:39:10
от SHoCK13666
4 Ответов
1462 Просмотров
Последний ответ Октябрь 11, 2014, 05:40:01
от AZJIO
30 Ответов
1572 Просмотров
Последний ответ Март 19, 2017, 22:53:16
от Alofa
0 Ответов
191 Просмотров
Последний ответ Апрель 09, 2017, 21:49:21
от CreatoR
1 Ответов
398 Просмотров
Последний ответ Июнь 16, 2017, 15:19:22
от InnI