文字列を特定のString
で分割する必要があります(この文字列は複数同時に存在することがあります)。 StringBuffer
。複数の同じ文字列を文字列から抽出する
String targeted = "test" ;
String plainString ="azertytestqwerty";
//desired outcome
StringBuffer sb = new StringBuffer();
sb.append("azerty");
sb.append("test");
sb.append("qwerty");
--------------------------
String targeted = "test" ;
String plainString ="a.test";
//desired outcome
StringBuffer sb = new StringBuffer();
sb.append("a.");
sb.append("test");
--------------------------
String targeted = "test" ;
String plainString ="test mlm";
//desired outcome
StringBuffer sb = new StringBuffer();
sb.append("test");
sb.append("mlm");
--------------------------
String targeted = "test" ;
String plainString ="aaatestzzztest";
//desired outcome
StringBuffer sb = new StringBuffer();
sb.append("aaa");
sb.append("test");
sb.append("zzz");
sb.append("test");
これを実行するために、任意の簡単な方法:追求する特定の文字列の場合は、例えば
鈍感でなければなりませんか?
同じ順序で、それはだ、私はこれを行う理由を
Pattern pattern = Pattern.compile(".*"+targeted +".*");
Matcher matcher = pattern.matcher(text);
if (matcher.find())
{
System.out.println(matcher.group(1));
}
しかし、私は、文字列を抽出し、それらを追加する方法がわからない:
私はのような正規表現を使用する必要があると思いますplainString
がPOIを使用してExcelセルに追加されるため、ターゲットの文字列にフォントの色を追加する必要があるためです。
例:
XSSFRichTextString richString = new XSSFRichTextString();
richString.append("azerty");
richString.append("test", highlightFont);
richString.append("qwerty");
cell.setCellValue(richString);
は非常に
ありがとう
このようにStringBufferに追加する目標は何ですか? "文字列全体を再構成する"の場合、実行するだけで何が問題なのですか? 'StringBuffer sb = new StringBuffer(plainString);' – dustinroepsch
@Dustin Ryan-Roepsch。より精密に編集された投稿。ありがとうございます:) – ulquiorra
Gotcha!それはもっと意味をなさない:) – dustinroepsch