Solved

Find a string in another string

Posted on 2006-06-20
14
302 Views
Last Modified: 2010-08-05
What function can help me find a string in another string.
Example :

string str1 = "i am in my house"
string str2 = "in my"
string str3 = "inmy"

compare_function(str1,str2) will return true because str2 was found in str1.
compare_function(str1,str3) will return false.


0
Comment
Question by:Cyber-EE
  • 3
  • 3
  • 2
  • +2
14 Comments
 
LVL 44

Accepted Solution

by:
Arthur_Wood earned 50 total points
ID: 16941408
you can use the Instr function to accomplish this.  Also StrComp.  Look them both up in the VB help system.

(Give a man a fish and you feed him for a day.  Teach a man how to fish for himself, and you feed him for the rest of his life)

AW
0
 
LVL 8

Expert Comment

by:kaliyugkaarjun
ID: 16942073
use Instr() function it returns the position of the first occurrence of one string within another.

InStr(sCheck, sMatch[, Start[, Compare]])

Arguments:
sCheck      => Required. String expression being searched.
sMatch      =>Required. String expression being searched for.
Start         Optional.  => Numeric expression that sets the starting position for each search. If omitted, search   begins at the first character position (Start = 1).
Compare      Optional.  => Numeric value indicating the kind of comparison to use when evaluating substrings. If omitted, a binary comparison is performed.

Example:
InStr("abc", "a")             =>  1

For ur code :
dim i=0;
if Instr(str1,str2)  != 0 then
//substring found so do ur required operation
end if

Cheers
0
 
LVL 13

Expert Comment

by:jmundsack
ID: 16942462
kaliyugkaarjun, the optional start argument is the first argument, not the third:

InStr([start, ]string1, string2[, compare])

Jon
0
What is SQL Server and how does it work?

The purpose of this paper is to provide you background on SQL Server. It’s your self-study guide for learning fundamentals. It includes both the history of SQL and its technical basics. Concepts and definitions will form the solid foundation of your future DBA expertise.

 
LVL 20

Expert Comment

by:alainbryden
ID: 16943478
jmundsack is right. Arthur, is too, he should probably look up something so simple, but he did offer up points that he may or may not have payed for so he might as well get a full answer. To make Kaliyugkaarjun's answer more legible and correct:

Function compare_function(byVal str1 As String, str2 As String) As Boolean
    compare_function = InStr$(str1, str2) <> 0
End Function

(To Kaliyugkaarjun's: != does not make sense in visual basic and dim i = 0 was not necessary and 'ur' is not a word.)

Cheers :D

Alain
0
 

Expert Comment

by:deandany
ID: 16943993
alainbryden's apprach is the easiest
-Dean
0
 
LVL 8

Expert Comment

by:kaliyugkaarjun
ID: 16948578
Hey bro just chk out i have written  comment  and not statement in vb :D

//substring found so do ur required operation

cheers
0
 
LVL 20

Expert Comment

by:alainbryden
ID: 16951657
Hey bro, the proper way to comment in vb is with ' not //, this isn't java :D

cheers
0
 

Expert Comment

by:deandany
ID: 16952793
ya kalyugkaarjun ... ur comment was good but a bit "Java"ish ...


be happy
0
 
LVL 8

Expert Comment

by:kaliyugkaarjun
ID: 16957217
Forget it ...it was just to mention that the line has nothing to do with code...

InStrRev (VB 6 Only)        

>Returns the first occurance of one string in another, starting from the right to the left.  

>InstrRev(string1, string2[,  start[, compare]])

InStr  

>Returns the first occurance of one string in another, starting from the left to the right.        

>InStr([start, ]string1, string2[, compare])




0
 
LVL 20

Expert Comment

by:alainbryden
ID: 17308209
I'd object, while Arthur_wood gave a partial answer, leading in the right direction, what the user wanted was a working solution, and it was not he, but kaliyugkaarjun (almost) and I that gave a working solution.
0

Featured Post

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Question has a verified solution.

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

Introduction While answering a recent question (http://www.experts-exchange.com/Q_27402310.html) in the VB classic zone, I wrote some VB code in the (Office) VBA environment, rather than fire up my older PC.  I didn't post completely correct code o…
When designing a form there are several BorderStyles to choose from, all of which can be classified as either 'Fixed' or 'Sizable' and I'd guess that 'Fixed Single' or one of the other fixed types is the most popular choice. I assume it's the most p…
As developers, we are not limited to the functions provided by the VBA language. In addition, we can call the functions that are part of the Windows operating system. These functions are part of the Windows API (Application Programming Interface). U…
Get people started with the process of using Access VBA to control Excel using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Excel. Using automation, an Access application can laun…

809 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