我有如下代码:
public ProcessedDocument Discarding_NonArabic_Letters(string[] savedSeparators,string notAllArabic)
{
string[] splittedStrings = notAllArabic.Split(savedSeparators, StringSplitOptions.RemoveEmptyEntries);
ProcessedDocument allArabicPD;
ArabicLettersStruct ar = ArabicLetters();
Char[] arabicLettersArray = ar.arabicLettersArray;
String arabicLettersString = ar.arabicLettersStringWithSpace;
StringBuilder result = new StringBuilder();foreach (string ss in splittedStrings){ foreach (Char c in ss.ToCharArray()) {
if (arabicLettersString.IndexOf(c) >= 0)
{
result.Append(c);
} } result.Append(savedSeparators[0].ToString());}allArabicPD = new ProcessedDocument(result.ToString());
//contains only Arabic letters + special separatorreturn TrimExtraSpaces(allArabicPD);}================================================== 假如有这个值 savedSeparators[0] = "C:"
这个语句result.Append(savedSeparators[0].ToString());正常执行后,
能正确添加"C:" 给result.
但这条语句allArabicPD = new ProcessedDocument(result.ToString()); 执行后,
result变量中的"C:" 变成了"C",丢失了“:”???类似的情况,
假如有这个值 savedSeparators[0] = "C:\"
这个语句result.Append(savedSeparators[0].ToString());正常执行后,
能正确添加"C:\" 给result.
但这条语句allArabicPD = new ProcessedDocument(result.ToString()); 执行后,
result变量中的"C:\" 却变成了"C\\" ???请问是什么原因呢?怎样解决这个奇怪的问题?
public ProcessedDocument Discarding_NonArabic_Letters(string[] savedSeparators,string notAllArabic)
{
string[] splittedStrings = notAllArabic.Split(savedSeparators, StringSplitOptions.RemoveEmptyEntries);
ProcessedDocument allArabicPD;
ArabicLettersStruct ar = ArabicLetters();
Char[] arabicLettersArray = ar.arabicLettersArray;
String arabicLettersString = ar.arabicLettersStringWithSpace;
StringBuilder result = new StringBuilder();foreach (string ss in splittedStrings){ foreach (Char c in ss.ToCharArray()) {
if (arabicLettersString.IndexOf(c) >= 0)
{
result.Append(c);
} } result.Append(savedSeparators[0].ToString());}allArabicPD = new ProcessedDocument(result.ToString());
//contains only Arabic letters + special separatorreturn TrimExtraSpaces(allArabicPD);}================================================== 假如有这个值 savedSeparators[0] = "C:"
这个语句result.Append(savedSeparators[0].ToString());正常执行后,
能正确添加"C:" 给result.
但这条语句allArabicPD = new ProcessedDocument(result.ToString()); 执行后,
result变量中的"C:" 变成了"C",丢失了“:”???类似的情况,
假如有这个值 savedSeparators[0] = "C:\"
这个语句result.Append(savedSeparators[0].ToString());正常执行后,
能正确添加"C:\" 给result.
但这条语句allArabicPD = new ProcessedDocument(result.ToString()); 执行后,
result变量中的"C:\" 却变成了"C\\" ???请问是什么原因呢?怎样解决这个奇怪的问题?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货