У меня есть коллекция струн. Я добавил «.» в конце каждого в форешнике цикл и объединил их в одну строку. a "."
Так что теперь у меня есть длинная строка, где я хочу удалить ненужную "." Waggrgae. Я хочу удалить "."
Где "." ничего. Буквы, как он работает на символах последовательно, и я также не знаю, как получить индекс для правильного ».« символ в моей исходной строке из цикла, если я все равно найду комбинацию.
Я также пытался создать BadString = ". " + char.tolower () Но у меня нет персонажа, который можно вставить в .tolower . Я знаю be.
Пример в соответствии с запросом:
public class AnalyzeImage
{
public async Task analyzeImage(string imageUri)
{
string endpoint = Environment.GetEnvironmentVariable("VISION_ENDPOINT");
string key = Environment.GetEnvironmentVariable("VISION_KEY");
ImageAnalysisClient client = new ImageAnalysisClient(new Uri(endpoint), new AzureKeyCredential(key));
ImageAnalysisResult result = client.Analyze(new Uri(imageUri), VisualFeatures.Read, new ImageAnalysisOptions { GenderNeutralCaption = true });
string cleanLine;
string parsedPara = string.Empty;
string miniString = string.Empty;
int i = 0;
foreach (DetectedTextBlock block in result.Read.Blocks)
{
foreach (DetectedTextLine line in block.Lines)
{
cleanLine = line.Text.Replace("'", "");
if (!cleanLine.EndsWith(".") || !cleanLine.EndsWith(",") || !cleanLine.EndsWith("!") || !cleanLine.EndsWith("?") || !cleanLine.EndsWith("-"))
{
cleanLine += ". "; //Add period character to the end of strings missing a closing character.
}
if (cleanLine.EndsWith(".."))
{
cleanLine.Remove(cleanLine.Length - 1);
}
parsedPara += cleanLine; //Concatenate strings into a single string.
foreach (char c in parsedPara) //This is where I start trying to check every combination of 3 characters to identify any misplaced period characters mid sentence.
{
miniString = miniString + c;
if (miniString.Length > 2)
{
miniString = string.Empty;
} else if (miniString.Length == 3)
{
char firstChar = miniString[0];
char secondChar = miniString[1];
char thirdChar = miniString[2];
if(firstChar.ToString() == "." && secondChar.ToString() == " " && char.IsLower(thirdChar))
{
Debug.WriteLine("HIT!");
}
}
i++;
}
}
}
Debug.WriteLine("parsedPara: " + parsedPara);
}
}
}
Подробнее здесь: https://stackoverflow.com/questions/794 ... -character
Проверьте строку для двух последовательных букв, за которыми следуют символ нижнего чехла ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Проверьте строку для двух последовательных букв, за которыми следуют символ нижнего чехла
Anonymous » » в форуме C# - 0 Ответы
- 18 Просмотры
-
Последнее сообщение Anonymous
-