using System.Text.RegularExpressions;
using System.Collections.Generic;
public static string transformerChaine(string chaine){
if (chaine != String.Empty){
chaine=Regex.Replace(chaine,"a","R",RegexOptions.IgnoreCase);
chaine=Regex.Replace(chaine , "c","Q",RegexOptions.IgnoreCase );
chaine=Regex.Replace(chaine, "j","P", RegexOptions.IgnoreCase);
public static char? premierCaracUniq(string chaine1) {
if(chaine1 != String.Empty){
for (int i = 0; i < chaine1.Length; i++) {
String lettre = chaine1[i].ToString();
if (chaine1.IndexOf(lettre, StringComparison.OrdinalIgnoreCase) == chaine1.LastIndexOf(lettre, StringComparison.OrdinalIgnoreCase)) {
public static bool IsPalindrome(string valeur)
if(valeur != String.Empty){
int max = valeur.Length - 1;
if (char.ToLower(a) != char.ToLower(b))
public static string InverserChaine(string source)
if(source != String.Empty){
var builder = new StringBuilder(source.Length);
for (int i = source.Length - 1; i >= 0; i--)
builder.Append(source[i]);
return builder.ToString();
public static string InversMotChaine( string chaine3 ){
if(chaine3 != String.Empty){
string[] words = chaine3.Split(' ');
chaine3 = String.Join(" ", words);
public static char? caracImpair(string chaine4){
if ( chaine4 != String.Empty){
for (int i = 0; i < chaine4.Length; i++) {
for (int j = 0; j < chaine4.Length; j++) {
if (chaine4[i] == chaine4[j])
public static Dictionary< char, int> occurenChaqCaractere(string chaine5 ){
if( chaine5 != string.Empty){
Regex rg = new Regex("[^a-zA-Z0-9]");
chaine5 = rg.Replace(chaine5, "");
Dictionary <char, int> dicoccurence = new Dictionary<char , int>();
while (chaine5.Length > 0)
Console.Write(chaine5[0] + " : ");
for (int j = 0; j < chaine5.Length; j++)
if (chaine5[0] == chaine5[j])
dicoccurence.Add(chaine5[0],count);
Console.WriteLine(count);
chaine5 = chaine5.Replace(chaine5[0].ToString(), string.Empty);
public static void Main()
Console.WriteLine("La nouvelle chaine est {0}", transformerChaine("Abc"));
Console.WriteLine("Le caractère unique est: {0}",premierCaracUniq("DFD"));
Console.WriteLine("Palindrome ?{0} ",IsPalindrome("ici"));
Console.WriteLine("La chaine inverser est :{0} ",InverserChaine("la vie est belle"));
Console.WriteLine("Bonjour tout le monde devient: {0} ",InversMotChaine("Bonjour tout le monde"));
Console.WriteLine("Le caractère avec le nombre d'occurence impair est : {0}",caracImpair("AABAC"));
Console.WriteLine("Le nombre d'occurence de chaque caractère est: ");
Dictionary <char, int> dicTest = new Dictionary<char, int>();
dicTest = occurenChaqCaractere("aa@bbcc def");