Solved

Processing a text line

Posted on 1998-11-08
5
136 Views
Last Modified: 2010-04-04
I need to process a line of text using a function that accepts a line of text as a parameter and returns a new processed line of text as a return value. eg.
TextInput                               TextOutput
'45Hello ?there'                     ' Hello there'
0
Comment
Question by:dargie
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
5 Comments
 
LVL 10

Expert Comment

by:viktornet
ID: 1346089
I'm not sure what you mean... You can not do that unless you use Pascal... If you think I misunderstood your question, please support some more info, and a more detailed explanation...

10x

Cheers,
Viktor
0
 
LVL 4

Accepted Solution

by:
dwwang earned 50 total points
ID: 1346090
Do you mean you want a function that strip all the non-alpha characters (except space) from a string? Below may be a solution:

function myStrProc(InputStr:string);

var
   OutputStr:string;
   i:integer;
begin

     OutputStr:=InputStr;
     i:=1;
     while  i<=length(OutputStr) do
        begin
           if ((Ord(OutputStr[i])>=65) and (Ord(OutputStr[i])<=90) or (Ord(OutputStr[i])>=97) and (Ord(OutputStr[i])<=122) or (Ord(OutputStr[i])=32))then
               i:=i+1
           else
               Delete(OutputStr,i,1);
        end;
        result:OutputStr;
end;

0
 
LVL 10

Expert Comment

by:viktornet
ID: 1346091
Oh is that what he wnats....here issomething,,,,,

procedure RemoveJunk(var str : string);
var
  i : integer;
begin
  for i := 1 to Length(str) do begin
    if str[i] in ['~','1','2','3','4','5','6','7','8','9','0','-','=','+','_','<','>',',','.','/','?','.',''','"',';',':',']','}','[','{','|','\','`'] then
    Delete(str, i-1, 1);
  end;
end;

Cheers,
Viktor
0
 
LVL 10

Expert Comment

by:viktornet
ID: 1346092
also include the numbers....

if str[i] in ['0'..'9'] then
...
0
 
LVL 10

Expert Comment

by:viktornet
ID: 1346093
or here is a simpler...way yo do all that....

procedure RemoveJunk(var str : string);
 var
   i : integer;
 begin
   for i := 1 to Length(str) do
     if not str[i] in ['a'..'z', 'A'..'Z'] then Delete(str, i, 1); ;
 end;

Cheers,
Viktor
0

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article explains how to create forms/units independent of other forms/units object names in a delphi project. Have you ever created a form for user input in a Delphi project and then had the need to have that same form in a other Delphi proj…
Introduction I have seen many questions in this Delphi topic area where queries in threads are needed or suggested. I know bumped into a similar need. This article will address some of the concepts when dealing with a multithreaded delphi database…
Come and listen to Percona CEO Peter Zaitsev discuss what’s new in Percona open source software, including Percona Server for MySQL (https://www.percona.com/software/mysql-database/percona-server) and MongoDB (https://www.percona.com/software/mongo-…
Michael from AdRem Software explains how to view the most utilized and worst performing nodes in your network, by accessing the Top Charts view in NetCrunch network monitor (https://www.adremsoft.com/). Top Charts is a view in which you can set seve…

690 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question