We help IT Professionals succeed at work.

C♯ method TimStart() method

Darius
Darius asked
on
111 Views
Last Modified: 2016-09-29
Hi guys,
I working on pretty old project from 2010 (.net framework 4)
 I need to validate entries of string value:
1. Take it off leading and trailing empty space from input string.
2. Leading 'zeros' from input string and after length should be not greater then 10.

strValue = "  0001234567890 "

strValue = strValue.Trim()
str = stringValue.TrimStart('0')
if(str.length> 10) {
...popup message
}
.....

Open in new window


Problem this:
method Trim()            => works
method TrimStart()    => error: Object doesn't support property or method 'TrimStart'

Any ideas?
Thank You
Comment
Watch Question

Author

Commented:
Acepted result should be:

strValue: '1234567890'
Neil RussellTechnical Development Lead

Commented:
strValue = "  0001234567890 "

strValue = strValue.Trim()
str = strValue.TrimStart('0')
if(str.length> 10) {
...popup message
}
.....
AndyAinscowFreelance programmer / Consultant
CERTIFIED EXPERT

Commented:
TrimStart is a member of the string class


strValue = "  0001234567890 "

strValue = strValue.Trim()
str = stringValue.TrimStart('0')    //What is stringValue - or do you mean strValue

Author

Commented:
Some grammer mistakes: strValue
Neil RussellTechnical Development Lead

Commented:
Yes that is the solution I gave above, correcting the typo by Darius

Author

Commented:
Thank Neil for corection...
it_saigeDeveloper
CERTIFIED EXPERT
Distinguished Expert 2019

Commented:
What Neilsr said...  Proof of concept:
using System;

namespace EE_Q28973366
{
	class Program
	{
		static void Main(string[] args)
		{
			string value = "  0001234567890";
			// Removes all leading and trailing white-space characters from the string.
			value = value.Trim();
			// Removes all leading occurances of the specified character, 0.
			string result = value.TrimStart('0');

			Console.WriteLine("Resulting string - {0}; {1}.", result, result.Length > 10 ? "has more than 10 characters" : string.Format("has exactly {0} characters", result.Length));
			Console.ReadLine();
		}
	}
}

Open in new window

Produces the following output -Capture.JPG
We could also simplify your code somewhat by chaining method calls:
using System;

namespace EE_Q28973366
{
	class Program
	{
		static void Main(string[] args)
		{
			string value = "  0001234567890";
			// Removes all leading and trailing white-space characters from the string and then
			// removes all leading occurances of the specified character, 0.
			string result = value.Trim().TrimStart('0');

			Console.WriteLine("Resulting string - {0}; {1}.", result, result.Length > 10 ? "has more than 10 characters" : string.Format("has exactly {0} characters", result.Length));
			Console.ReadLine();
		}
	}
}

Open in new window

Which gives us the same output.

-saige-

Author

Commented:
The problem is for trimStart() method
AndyAinscowFreelance programmer / Consultant
CERTIFIED EXPERT

Commented:
Strange error message though unless stringValue is actually declared
Neil RussellTechnical Development Lead

Commented:
TrimStart method works fine in C# .NET4
Your error was in the use of a wrong variable name.  Have you pasted my corrected code and run it?
Neil RussellTechnical Development Lead

Commented:
And don't forget that "The problem is for trimStart() method" is NOT the same as
"The problem is for TrimStart() method"

Make sure that all capitalization is correct both in your code and in code submitted in the question please or we could be here a while.

Author

Commented:
On my way home, check then...
AndyAinscowFreelance programmer / Consultant
CERTIFIED EXPERT

Commented:
As I mentioned earlier that error message would not be produced from a simple typo between strValue and stringValue, it would need stringValue to be declared and also not to be a string type of variable.

This sounds like you have given a piece of air code (not copied/pasted actual code).  If that is correct please do NOT do that in future.  I have seen in multiple questions with edited/invented code being used where the original error has been accidentally corrected and/or another error introduced.

Author

Commented:
Tried to separate Trim() and TrimStart('0') methods to see results.   TrimStart() gives error...
results below

error on debuging

Author

Commented:
else if (invoiceId.Trim().lenght > 15) {
            warn = "!" + "Invoice ID has more then 15 characters.\n";
            //in this case the page is not reloaded, so the button has to be enabled and the cursor back to 'default'
            document.body.style.cursor = 'default';
            document.getElementById("btnSend").onclick = '';
        }
        else if (invoiceId.TrimStart('0').lenght > 10) {
            warn = "!" + "Invoice ID has more then 10 characters.\n";
            //in this case the page is not reloaded, so the button has to be enabled and the cursor back to 'default'
            document.body.style.cursor = 'default';
            document.getElementById("btnSend").onclick = '';
        }

Open in new window

it_saigeDeveloper
CERTIFIED EXPERT
Distinguished Expert 2019

Commented:
I was afraid of this based upon the samples you provided.  This is javascript, not C# (updated tags to reflect).

Not to split hairs but length is mispelled.  Also as convention the javascript method is trimStart not TrimStart.  

-saige-

Author

Commented:
change to 'trimStart' same issue...

else if (invoiceId.trimStart('0') == "00120") {
            ....
}
Developer
CERTIFIED EXPERT
Distinguished Expert 2019
Commented:
This one is on us!
(Get your first solution completely free - no credit card required)
UNLOCK SOLUTION
Unlock the solution to this question.
Join our community and discover your potential

Experts Exchange is the only place where you can interact directly with leading experts in the technology field. Become a member today and access the collective knowledge of thousands of technology experts.

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

OR

Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.