2012-06-06 3 views
0

У меня есть ряд текстовых документов, содержащих следующие рода данных:Найти все номера в текстовом документе и манипулировать

[...] 
Please prepare the subject, then press SPACE 
We are testing peripheral vision with a black & white stimulus 
45 degree stimulus of 0.728097 logMAR presented 
Good response 
45 degree stimulus of 0.686705 logMAR presented 
Bad response 
REVERSAL 
Acuity at reversal 7 (experiment 3) was 0.686705 logMAR 
135 degree stimulus of 0.732462 logMAR presented 
Good response 
45 degree stimulus of 0.732462 logMAR presented 
[...] 

Другими словами, есть не много единообразия в ее формате. Эти данные были получены с помощью одной из моих подпрограмм, которые я использую для своей кандидатуры. Глупо, у меня получилось некорректное вычисление, что означает, что мои цифры на 0,3 ниже, чем они должны быть.

Может ли кто-нибудь предложить либо существующее программное обеспечение, либо подходящий подход (я могу работать с MATLAB, C++, Java или Python), чтобы обнаружить все числа с плавающей запятой, содержащиеся в текстовом документе, и добавить к ним 0,3?

n.b. Я не обязательно ищу решение, которое предполагает, что я программирую что-нибудь, но учитывая, что это довольно проблемная проблема, у меня есть чувство, что это может быть связано с написанием чего-то!

Все предложения с благодарностью получили :)

ответ

1

Вот простой Javascript для майкрософт двигателя, что делает работу

var FSO = WScript.CreateObject("Scripting.FileSystemObject"); 
var fName = WScript.Arguments(0); 
var f = FSO.OpenTextFile(fName, 1); 
var fw = FSO.OpenTextFile(fName +".new", 2, true); 

while (!f.AtEndOfStream) 
    fw.WriteLine(f.ReadLine().replace(/\b\d+\.(\d+)\b/g, 
     function($0, $1) { 
      return (+$0+0.3).toFixed($1.length); 
     } 
    )); 

f.Close(); 
fw.Close(); 

я предполагаю, неподвижную точку, без ведущего или оборванного десятичной точки

+0

Спасибо! Я никогда раньше не использовал Javascript, это похоже на то, что я должен делать больше. Спасибо, что представил меня, отлично работает :) – CaptainProg

0

Я не знаю программное обеспечение, которое может сделать это, но ваша проблема может быть легко решена путем написания сценария Python. Просто извлеките все числа с плавающей запятой в документе X, добавьте 0,3 к ним и выведите результат в новый текстовый файл. Сделайте это для всех документов. Синтаксис для определения чисел с плавающей запятой можно просто найти в Интернете. Надеюсь это поможет.

Смежные вопросы