Как получить подстроку из строки в С#?
У меня есть большая строка и она хранится в строковой переменной str. И я хочу получить подстроку из этого в С#?
Предположим, что строка: " Retrieves a substring from this instance. The substring starts at a specified character position."
Результат подстроки, который я хочу отобразить: The substring starts at a specified character position.
Ответы
Ответ 1
Вы можете сделать это вручную или с помощью метода IndexOf
.
Вручную:
int index = 43;
string piece = myString.Substring(index);
С помощью IndexOf вы можете увидеть, где находится полный стоп:
int index = myString.IndexOf(".") + 1;
string piece = myString.Substring(index);
Ответ 2
string newString = str.Substring(0,10)
предоставит вам первые 10 символов (от позиции 0 до позиции 9).
Смотрите здесь.
Ответ 3
Вот пример получения подстроки от 14 символов до конца строки. Вы можете изменить его в соответствии с вашими потребностями.
string text = "Retrieves a substring from this instance. The substring starts at a specified character position.";
//get substring where 14 is start index
string substring = text.Substring(14);
Ответ 4
Рия,
Сделав предположение, что вы хотите разбить на полную остановку (.), тогда здесь будет использоваться подход, который будет захватывать все вхождения:
// add @ to the string to allow split over multiple lines
// (display purposes to save scroll bar appearing on SO question :))
string strBig = @"Retrieves a substring from this instance.
The substring starts at a specified character position. great";
// split the string on the fullstop, if it has a length>0
// then, trim that string to remove any undesired spaces
IEnumerable<string> subwords = strBig.Split('.')
.Where(x => x.Length > 0).Select(x => x.Trim());
// iterate around the new 'collection' to sanity check it
foreach (var subword in subwords)
{
Console.WriteLine(subword);
}
наслаждаться...
Ответ 5
string text = "Retrieves a substring from this instance. The substring starts at a specified character position. Some other text";
string result = text.Substring(text.IndexOf('.') + 1,text.LastIndexOf('.')-text.IndexOf('.'))
Это сократит часть строки, которая лежит между специальными символами.
Ответ 6
var data =" Retrieves a substring from this instance. The substring starts at a specified character position.";
var result = data.Split(new[] {'.'}, 1)[0];
Вывод:
Получает подстроку из этого экземпляра. Подстрока начинается с указанная позиция символа.
Ответ 7
легко переписать этот код на С#...
Этот метод работает, если ваше значение находится между двумя подстроками!
, например:
stringContent = "[myName]Alex[myName][color]red[color][etc]etc[etc]"
вызовы должны быть:
myNameValue = SplitStringByASubstring(stringContent , "[myName]")
colorValue = SplitStringByASubstring(stringContent , "[color]")
etcValue = SplitStringByASubstring(stringContent , "[etc]")