Case of the Non-Breaking Space (Part II)
In the first part of "case of the non-breaking space" I developed a script to show what the unicode values were for a given string.
This article is the next evolution of the solution to removing a non-breaking space from your code. The script below is designed for LINQPad.
This script will get the text from the Clipboard and then replace the Non-Breaking Space with a Space. Finally it will copy the converted text back up to the Clipboard in order to paste it into your application \ code.
using System;
using System.Linq;
using System.Windows.Forms;
void Main()
{
var input= Clipboard.GetText();
var searchChar = '\u00A0';
var replaceChar = '\u0020';
var converted = input.Replace(searchChar,replaceChar).Dump();
Clipboard.SetText(converted);
/* Optional Function to Show the Proces
var contents = ProcessInput(input);
contents.Dump(); */
}
// This Function will List the Unicode Values of the Provided String
public List<CharacterDetail> ProcessInput(string value)
{
Func<char, string, string> ConvertToUnicode = (t, p)
=> $"{p}{Convert.ToUInt16(t):X4} ";
var results = value.Select(t => new CharacterDetail
{
Character = t,
UnicodeValue = ConvertToUnicode(t, "U+"),
UnicodeConversion = ConvertToUnicode(t, @"\u")
}).ToList();
return results;
}
// Class to store the Unicode Values
public class CharacterDetail
{
public char Character { get; set; }
public string UnicodeValue { get; set; }
public string UnicodeConversion {get;set;}
}