Как я извлекаю текст, который находится между круглыми скобками (круглые скобки)?

Предупреждение: действующее ограничение open_basedir

Это предупреждение может появляться с различными функциями, связанными с доступом к файлам и каталогам. Он предупреждает о проблеме с конфигурацией.

Когда он появляется, это означает, что доступ был запрещен для некоторых файлов.

Само предупреждение ничего не нарушает, но чаще всего скрипт не работает должным образом, если предотвращается доступ к файлу.

Исправление обычно изменяет конфигурацию PHP , связанная настройка называется open_basedir .

Иногда неправильный имена файлов или каталогов, тогда исправление должно использовать правильные.

Вопросы, относящиеся

217
задан gotqn 25 March 2015 в 21:51
поделиться

8 ответов

Очень простой способ сделать это при помощи регулярных выражений:

Regex.Match("User name (sales)", @"\(([^)]*)\)").Groups[1].Value
<час>

Как ответ на (очень забавный) комментарий, вот тот же Regex с некоторым объяснением:

\(             # Escaped parenthesis, means "starts with a '(' character"
    (          # Parentheses in a regex mean "put (capture) the stuff 
               #     in between into the Groups array" 
       [^)]    # Any character that is not a ')' character
       *       # Zero or more occurrences of the aforementioned "non ')' char"
    )          # Close the capturing group
\)             # "Ends with a ')' character"
424
ответ дан itsadok 23 November 2019 в 04:13
поделиться

regex метод выше, я думаю, но если Вы хотели использовать скромное substring

string input= "my name is (Jayne C)";
int start = input.IndexOf("(");
int stop = input.IndexOf(")");
string output = input.Substring(start+1, stop - start - 1);

или

string input = "my name is (Jayne C)";
string output  = input.Substring(input.IndexOf("(") +1, input.IndexOf(")")- input.IndexOf("(")- 1);
2
ответ дан inspite 23 November 2019 в 04:13
поделиться

Используйте регулярное выражение:

string test = "(test)"; 
string word = Regex.Match(test, @"\((\w+)\)").Groups[1].Value;
Console.WriteLine(word);
4
ответ дан Will Dean 23 November 2019 в 04:13
поделиться
input.Remove(input.IndexOf(')')).Substring(input.IndexOf('(') + 1);
2
ответ дан Rockcoder 23 November 2019 в 04:13
поделиться

regex, возможно? Я думаю, что это работало бы...

\(([a-z]+?)\)
13
ответ дан chills42 23 November 2019 в 04:13
поделиться

Регулярные выражения могли бы быть лучшим инструментом здесь. Если Вы не famililar с ними, я рекомендую установить Экспресс - большой небольшой regex инструмент.

Что-то как:

Regex regex = new Regex("\\((?<TextInsideBrackets>\\w+)\\)");
string incomingValue = "Username (sales)";
string insideBrackets = null;
Match match = regex.Match(incomingValue);
if(match.Success)
{
    insideBrackets = match.Groups["TextInsideBrackets"].Value;
}
14
ответ дан Eray Balkanli 23 November 2019 в 04:13
поделиться
string input = "User name (sales)";

string output = input.Substring(input.IndexOf('(') + 1, input.IndexOf(')') - input.IndexOf('(') - 1);
14
ответ дан Nick Allen 23 November 2019 в 04:13
поделиться

Предположение, что у Вас только есть одна пара круглой скобки.

string s = "User name (sales)";
int start = s.IndexOf("(") + 1;
int end = s.IndexOf(")", start);
string result = s.Substring(start, end - start);
91
ответ дан ChrisD 23 November 2019 в 04:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: