How to find record that has a text string that ends with a quote

The attached spec FINDENDINGQUOTE.SPX can be used to find records that have a text string that ends in a quote. In some cases, this can cause Excel to not properly parse the data.

Set the defines in the spec to the appropriate values for the reformatted outut you want to check.

If you comment in the define for findit the program will determine the actual place on the line where the quoted string ends.

NOTE:This takes quite a bit longer to run, so you likely want to first run without it, and then if that locates a possible issue, you can rerun with the define set to see exactly where the problem might be.

If you do identify a problem record, we recommend that you go back and modify the original text so that if the reformat is rerun later you won’t have the same problem again.

If your input file is >25K columns, then the body of the spec will need to be adjusted to deal with the longer records.

>Define @Input test.rft   ''Name of the reformat output you want to check>Define @IDLoc 1.4        ''Location of the case ID in the record>Define @Delim /          ''Delimiter that was used in the reformat'>Define @FindIT          ''Switch to check each column (runs slower)**********************************************************************>AllowIndent>FillDefines>-PrintRep~in @Input ascii=25000  id=@Idloc~defProc= findendingquote:If FindString("""""@Delim",[1.5000$]) > 0 Or &FindString("""""@Delim",[4991.5000$]) > 0 Or &FindString("""""@Delim",[9981.5000$]) > 0 Or &FindString("""""@Delim",[14971.5000$]) > 0 Or &FindString("""""@Delim",[19961.5000$]) > 0 Or &FindString("""""@Delim",[24951.50$]) > 0 Error "This case has possible dangling end quote">IfDefine @FindIT>Repeat $A=00001,...,24998If [$A.3$] = """""@Delim"Error "ending quote is at column $a"Endif>EndRepeat>EndifEndif}~exc proc= findendingquote~end 

  • findendingquote.spx