Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 12 Next capture
2021 2022 2023
1 capture
12 Jun 22 - 12 Jun 22
sparklines
Close Help
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
  • Help Room /
avatar image
0
Question by enigmatic · Dec 28, 2016 at 10:43 AM · c#characterstring.splitstring formatting

How to get rid of empty characters from the string?

I am reading the location for a file from local HDD which is dynamically created from a local host. I have managed to read the output from batch file but the issue is when i am reading for the location it is also including special characters I want to get rid of these character.

So far I have tried following approaches: -> converting string to character array, eaxtracting only the LettersAndNumbers with '.' and '_' symbols -> splitting string: path.Split (spC, 7,StringSplitOptions.RemoveEmptyEntries); -> trying to read from lsat of the string till '/' and then reversing the extracted char array and copying it to string.

But nothing seems to work here....

Please help me out here ;'(

You can see the invalid character is not showing up in debug log. Further you can see the upload_randomstring.jpg and then __ends in the new line that is the split string. I wouldn't have got to know what this evil character (%00%) if not for Uri.EscapeUriString(...) class.

alt text add for www:file:///C:/Users/shubh/AppData/Local/Temp/upload_c33e4a116d8034a032f8a251d7ea5656.jpg%00%00%00%00%00%00%00

bg.png (135.4 kB)
Comment
Add comment · Show 1
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image enigmatic · Dec 28, 2016 at 11:34 AM 0
Share

What I find weird here is, that I am using the following debug command: UnityEngine.Debug.Log ("before check: "+path+"__ends");

but notice that the output omits the "__ends" string. Which I am not able to comprehend why?

1 Reply

· Add your reply
  • Sort: 
avatar image
0
Best Answer

Answer by enigmatic · Dec 28, 2016 at 12:08 PM

Finally got it working, but I still don't get it why my previous code wasn't working for omitting the special character.

Here is how I was doing it before:

 char[] fnca = fileName.ToCharArray ();
         char[] validC = new char[50];
         int vc = 0;
         for (int i = 0; i < fnca.Length; i++) {
             if (Char.IsLetterOrDigit (fnca [i]) || fnca [i] == '_' || fnca [i] == '.') {
                 //UnityEngine.Debug.Log (fnca [i]);
                 validC [vc] = fnca [i];
                 vc++;
                 if (fnca [i] == '.') {
                     validC [vc] = 'j';vc++;validC [vc] = 'p';vc++;validC [vc] = 'g';vc++;
                     i = fnca.Length + 2;
                 }
             }
             else
                 UnityEngine.Debug.Log ("Invalid char: " + fnca [i]);
         }
         validC [vc] = '\0';
         fileNameNew = new string (validC);



Later I used stringbuilder class for formatting the string and this worked:

 string RemoveSpecialCharacters(string str) {
         StringBuilder sb = new StringBuilder();
         foreach (char c in str) {
             if ((c >= '0' && c <= '9') || (c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z') || c == '.' || c == '_' || c=='\\' || c==':') {
                 sb.Append(c);
             }
         }
         return sb.ToString();
     }

Some peace. Would still appreciate if anyone could find the underlying issue here.

Comment
Add comment · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this Question

Answers Answers and Comments

292 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

Help with trying to make a 2D character move in all four directions via the arrow keys 2 Answers

How do you stop capsule from going through walls? 1 Answer

My 3D character is flying up when I jump 1 Answer

Need help with making disappearing platforms. Error CS1525 1 Answer

Retaining rotation (preventing rotation snapping) 0 Answers


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges