Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Mike Lewis on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

String to Array 1

Status
Not open for further replies.
Nov 26, 2007
25
0
0
US
Hi all I am new to powershell and have a beginner question. I have a variable that is storing a bunch of strings based on a Select-string command-let I use.

Code:
$results | Select-String 'port'

Results in:
IP:port : 0.0.0.0:13125
IP:port : 0.0.0.0:13126
IP:port : 0.0.0.0:13128
IP:port : 0.0.0.0:13130
IP:port : 0.0.0.0:13131
IP:port : 0.0.0.0:13132
IP:port : 0.0.0.0:13133
IP:port : 0.0.0.0:13134
IP:port : 0.0.0.0:13137

How can I extract/trim only the port numbers, for example 13135 , and store them in an array so that I can use later on. I was thinking TRIMEND but that is not working. I am not familiar with all the methods of string.
Thanks in advance.
Code:
   TypeName: System.String

Name             MemberType            Definition
----             ----------            ----------
Clone            Method                System.Object Clone()
CompareTo        Method                int CompareTo(System.Object value), int CompareTo(string strB)
Contains         Method                bool Contains(string value)
CopyTo           Method                System.Void CopyTo(int sourceIndex, char[] destination, int destinationIndex,...
EndsWith         Method                bool EndsWith(string value), bool EndsWith(string value, System.StringCompari...
Equals           Method                bool Equals(System.Object obj), bool Equals(string value), bool Equals(string...
GetEnumerator    Method                System.CharEnumerator GetEnumerator()
GetHashCode      Method                int GetHashCode()
GetType          Method                type GetType()
GetTypeCode      Method                System.TypeCode GetTypeCode()
IndexOf          Method                int IndexOf(char value), int IndexOf(char value, int startIndex), int IndexOf...
IndexOfAny       Method                int IndexOfAny(char[] anyOf), int IndexOfAny(char[] anyOf, int startIndex), i...
Insert           Method                string Insert(int startIndex, string value)
IsNormalized     Method                bool IsNormalized(), bool IsNormalized(System.Text.NormalizationForm normaliz...
LastIndexOf      Method                int LastIndexOf(char value), int LastIndexOf(char value, int startIndex), int...
LastIndexOfAny   Method                int LastIndexOfAny(char[] anyOf), int LastIndexOfAny(char[] anyOf, int startI...
Normalize        Method                string Normalize(), string Normalize(System.Text.NormalizationForm normalizat...
PadLeft          Method                string PadLeft(int totalWidth), string PadLeft(int totalWidth, char paddingChar)
PadRight         Method                string PadRight(int totalWidth), string PadRight(int totalWidth, char padding...
Remove           Method                string Remove(int startIndex, int count), string Remove(int startIndex)
Replace          Method                string Replace(char oldChar, char newChar), string Replace(string oldValue, s...
Split            Method                string[] Split(Params char[] separator), string[] Split(char[] separator, int...
StartsWith       Method                bool StartsWith(string value), bool StartsWith(string value, System.StringCom...
Substring        Method                string Substring(int startIndex), string Substring(int startIndex, int length)
ToCharArray      Method                char[] ToCharArray(), char[] ToCharArray(int startIndex, int length)
ToLower          Method                string ToLower(), string ToLower(System.Globalization.CultureInfo culture)
ToLowerInvariant Method                string ToLowerInvariant()
ToString         Method                string ToString(), string ToString(System.IFormatProvider provider)
ToUpper          Method                string ToUpper(), string ToUpper(System.Globalization.CultureInfo culture)
ToUpperInvariant Method                string ToUpperInvariant()
Trim             Method                string Trim(Params char[] trimChars), string Trim()
TrimEnd          Method                string TrimEnd(Params char[] trimChars)
TrimStart        Method                string TrimStart(Params char[] trimChars)
Chars            ParameterizedProperty char Chars(int index) {get;}
Length           Property              System.Int32 Length {get;}
 
First here is how to isolate the value you want from each line.

Code:
$Line = "IP:port : 0.0.0.0:13125"
$Port = $Line.Split(":")
$Port[3]

You can get the individual lines with a ForEach like this:

Code:
$Line = "IP:port : 0.0.0.0:13125"
$Port = $Line.Split(":")
$Port[3]

ForEach ($Line in $Results)
{
$Port = $Line.Split(":")
$Port[3]
}

I hope that helps.

Regards,

Mark

No trees were harmed in posting this message, however a significant number of electrons were terribly inconvenienced.

Check out my scripting solutions at
Work SMARTER not HARDER.
 
Mark thanks for the tip. I think I was over thinking it.


ports.txt contains
IP:port : 0.0.0.0:13125
IP:port : 0.0.0.0:13126
IP:port : 0.0.0.0:13128
IP:port : 0.0.0.0:13130
IP:port : 0.0.0.0:13131
IP:port : 0.0.0.0:13132
IP:port : 0.0.0.0:13133
IP:port : 0.0.0.0:13134
IP:port : 0.0.0.0:13137

Code:
$Results = Get-Content c:\ports.txt

ForEach ($Line in $Results)
{
$Port = $line.Split(":")
$Port[3]
}
 
Happy to help. Please check out my FAQs in this forum, I would appreciate if you could rate them. They might help you learn a few tricks too.

I hope that helps.

Regards,

Mark

No trees were harmed in posting this message, however a significant number of electrons were terribly inconvenienced.

Check out my scripting solutions at
Work SMARTER not HARDER.
 
Sure thing. I rated two yesterday. Set spn is sweet!
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top