How to get ASCII/UTF8 value of a specific character in a string and replace it?

Hi Everyone!
Been going round and round trying to figure out best way to approach this.

I have a string that contains the contents of an email body. Sometimes the string may contain double quotes. It seems that what looks like a double quote to me, is actually something else. Recently, I’ve come across a string that has (what I think to be) the left or right double quotation marks, rather than regular double quotes.
I’ve tried all sorts of things from the simplest var.replace(ValueToReplace,ReplacementValue) OR var.replace(Chr(ChrValueToReplace,ReplacementChrValue)) all the way to trying to convert the string to ByteArray with a loop and condition to check for certain byte value… but I can’t quick figure that one out to the end of how to replace that currentNumber of the ByteArray in the loop with the value I want.
Anyone recommend a waaaaay SIMPLER or accurate way to go about this???
Thanks soooo much in advance!

@lcaravel

have you tried this

txt.Replace(char.ConvertFromUtf32(8221),"")

you would need the unicode code point for your char you want to replace. I tried with and it seems to work for me.

image

Edit: if you need the unicode code point witithn the flow. Set up a for loop like this

image

1 Like

Welcome back @muktadir UiPath Community,

I know that dealing with non-standard characters in email bodies can be tricky. Here’s a simpler and more accurate way to replace those “pretend” double quotes in C#:

Using String.Replace with Verbatim String Literals:

  1. Verbatim String Literals:

Verbatim string literals allow you to include special characters like double quotes without needing to escape them. This makes it easier to define the exact character you want to replace.

string emailBody = "This is an email with \"pretend\" double quotes.";

string fixedBody = emailBody.Replace(@"""", "\""); // Replace with actual double quote

In this code:

  • @"" defines a verbatim string literal.
  • """ represents the exact character you want to replace (the “pretend” double quote).
  • \" is the replacement character, a regular double quote escaped with a backslash ().

This approach should work for most cases where you encounter non-standard double quotes in your email body strings.

you need to try this as per your code, maybe its required to modify the code

string myString = "Hello, World!";
char targetChar = myString.FirstOrDefault(c => c == 'o'); // Find the first occurrence of 'o'

// Get ASCII value (assuming string is in ASCII encoding)
int asciiValue = (int)targetChar;

// Get UTF-8 byte representation (assuming string is in UTF-8 encoding)
byte[] utf8Bytes = Encoding.UTF8.GetBytes(new char[] { targetChar });
int utf8ByteValue = utf8Bytes[0];

Hope it help you, how to solve your issue

Regard
Mukesh S
mukesha.com

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.