2017-02-15 4 views
-2

Я новичок в Java. В настоящее время я работаю с регулярными выражениями (regex) в Java. Вот мой вопрос: Я хотел бы удалить: «Управляющий фондом: CI Investments Inc.» эта часть через мое регулярное выражение. Как я могу это сделать? Часть моего кода приведена ниже.Регулярные выражения (Regex) Java

CIG2306/CIG3306/CIG1306 Управляющий фондом: CI Investments Inc. Это один из результатов, которые я прочитал. Я хочу добавить регулярное выражение специально для этого вывода. Потому что я не хочу, чтобы часть менеджера фонда: CI Investments Inc была удалена из моей продукции.

public class Main { String text; private getFundCode(){ Pattern ptnFundCode = Pattern.compile("Fund code\\w?:\\s*(.*)[\\r\\n]+", Pattern.CASE_INSENSITIVE); Matcher mchFundCode = ptnFundCode.matcher(text); if(mchFundCode.find()){ System.out.println(mchFundCode.group(1)); //tempResult+=mchFundCode.group(1)+"; "; } else{ tempResult+="N/A; "; }

+0

Пожалуйста, покажите какой код вы пробовали. – markspace

+0

где ваш пример кода –

+0

Вам нужно использовать регулярные выражения, или же будет работать с строкой? – Scovetta

ответ

0

просто использовать replace

String before = "CIG2306 /CIG3306 /CIG1306 Fund manager: CI Investments Inc."; 
String after = before.replace ("Fund manager: CI Investments Inc.", ""); 

Если вы действительно хотите использовать regex для замены, то вы можете использовать String.replaceAllно что бы ваше правило?

Может быть

String after = before.replaceAll ("F.*", ""); 
+0

Спасибо, я буду использовать его. – Chrisxx

+0

Я уточнил вопрос – Chrisxx

+0

@Chrisxx «Код фонда» не «Управляющий фондом» –

0

Вы можете попробовать это:

str.replaceAll("Fund manager: CI Investments Inc\.", ""); 
+0

Он не удалит всех менеджеров Фонда в моем тексте, не так ли? Потому что я буду использовать их в другом столбце моего вывода. – Chrisxx

+0

@Chrisxx Я не совсем последовал за вами, но он действительно удалит все «менеджер фонда» и следующий текст, который я разместил в методе «replaceAll». –

Смежные вопросы