Строковые функции - PullRequest
0 голосов
/ 24 марта 2009

Я хочу найти заданную строку в другой строке (например, найти, если «что-то» существует внутри «что-то вроде этого». Как я могу сделать следующее?:

  1. Знайте положение, в котором находится «что-то» (в текущем, напр., Это = 0.
  2. Извлеките все влево или вправо, вплоть до символа. найдено (см. 1).
  3. Извлечение подстроки, начиная с которой была найдена искомая строка, вплоть до количества символов X (в Visual Basic 6 / VBA я использовал бы функцию Mid).

Ответы [ 6 ]

10 голосов
/ 24 марта 2009
string searched = "something like this";

1

int pos = searched.IndexOf("something");

2

string start = searched.Substring(0, pos);
string endstring = searched.Substring(pos);

3.

string mid = searched.Substring(pos, x);
1 голос
/ 24 марта 2009

Вы смотрели на метод String.SubString ()? Вы можете использовать метод IndexOf (), чтобы увидеть, существует ли сначала подстрока.

0 голосов
/ 24 марта 2009

Я бы не стал использовать Split, поскольку он предназначен для получения нескольких результатов. Я бы придерживался кода в первом примере, хотя второй блок должен на самом деле читать ...

string start = searched.Substring(0, pos);
string endstring;

if(pos < searched.Length - 1)
endstring = searched.Substring(pos + "something".Length);
else
endstring = string.Empty

Ключевым отличием является длина строки, которую нужно найти (отсюда довольно странное «что-то». Длина, так как этот пример предназначен для того, чтобы вы могли использовать собственную переменную).

0 голосов
/ 24 марта 2009

Я бы сделал что-то вроде этого:

string s = "I have something like this";

//question No. 1
int pos = s.IndexOf("something");  

//quiestion No. 2
string[] separator = {"something"};
string[] leftAndRightEntries = s.Split(separator, StringSplitOptions.None);  

//question No. 3

int x = pos + 10;
string substring = s.Substring(pos, x);
0 голосов
/ 24 марта 2009

Использование int String.IndexOf(String).

0 голосов
/ 24 марта 2009

Взгляните на функции-члены System.String , в частности метод IndexOf .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...