
javaで以下のような文字列がある場合、特定文字列から特定文字列までを取得したいのですが、
良い方法ありませんでしょうか?
例)c=の数値部分を取得する。
String str = "a=111 b=3333 c=446363634 d=35252 e=76738989";
int strIndex = str.indexOf("c=");
String str2 = str.substring(strIndex+3,XXXX);
XXX部分をどう書いたらよいかわからず。
そもそもsubstringでは取得できない感じなのでしょうか?
実際はリストの各文字列の"C="の値取得したいため、桁数指定できません(c=の桁数は固定でないため)
c=から最初の半角スペースまでとかで取得することが可能でしょうか。
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
質問の趣旨とは異なるけど、私なら split か正規表現の
マッチでやるかな。
c= の後に d= が有るとか仮定できるなら、
いろいろできそうだけど、それでも不細工そう(^^;
カンマや空白区切りでsplitして、 = でsplit して trim が
無難そう。
No.3
- 回答日時:
String str = "a=111 b=3333 c=446363634 d=35252 e=76738989";
int strIndex = str.indexOf("c=");//==13
int strIndex2 = str.indexOf(" ",strIndex );//==24
if(strIndex !=-1 && strIndex2 !=-1) //cの後もデータがある場合
str.substring(strIndex+2,strIndex2); //15,24
else if(strIndex !=-1) //c以降にデータがない場合(~634で終わり)
str.substring(strIndex+2); //15以降全部
No.2
- 回答日時:
正規表現なら、
https://www.javadrive.jp/start/regex/index13.html
import java.util.*;
import java.util.regex.*;
public class Main {
public static void main(String[] args) throws Exception {
// Your code here!
String str = "a=111 b=3333 c=446363634 d=35252 e=76738989";
String regex ="(c=\\d+)\s";
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher(str);
if (m.find()){
System.out.println(m.group(1));
}
}
}
初心者レベルですが・・・
No.1
- 回答日時:
class Main {
public static void main(String[] arg) {
String str = "a=111 b=3333 c=446363634 d=35252 e=76738989";
int strIndex = str.indexOf("c=");
String str2 = str.substring(strIndex+2).split(" ")[0];
System.out.println(str2);
}
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# c言語 プログラムのエラー 1 2023/02/11 20:31
- その他(コンピューター・テクノロジー) 【Tableau Desktop】文字列から8桁の数字を日付型(yyyyMMdd)として取得 1 2023/07/31 10:17
- Visual Basic(VBA) 特定の文字を簡単な操作で半角スペースに変換するか削除したい 2 2022/11/01 10:35
- Excel(エクセル) Excelのマクロで、特定のセルから順番に値を取得したい 5 2022/12/06 15:34
- C言語・C++・C# str[j++]の意味 2 2022/08/30 16:20
- Visual Basic(VBA) VBAで、特定の文字より後を削除して残った数値を文字列に変換と特定の文字より前も削除したい 3 2022/04/15 19:21
- その他(プログラミング・Web制作) プログラミング pythonの問題について 2 2022/04/19 00:41
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- Excel(エクセル) エクセルの条件付き書式で*を使いたい 4 2022/05/13 16:49
- Visual Basic(VBA) VBA 改行コードの取り方 1 2022/03/22 14:14
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
変数を動的に利用するには?
-
中カッコ{}だけの記述について
-
プログラミングの問題です。大...
-
日本語が文字コードによっては...
-
NoSuchMethodErrorが解決できま...
-
java 継承の問題で分からないと...
-
インタフェイス実装と抽象クラ...
-
多次元配列の出力のところがわ...
-
javaのプログラミングで作るRPG...
-
オブジェクトの中のプロパティ...
-
ループ処理の際、最後だけ","を...
-
動的配列が存在(要素が有る)か...
-
jsp/Servletの動的に増えるフォ...
-
flush()とclose()について
-
【Java8以降】csvファイルの複...
-
ArrayListからBean配列に値をセ...
-
C言語のポインターに関する警告
-
JSPやサーブレットでSystem.out...
-
ダブルクォーテーションのrepla...
-
メインが含まれていません
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
変数を動的に利用するには?
-
中カッコ{}だけの記述について
-
プログラミングの問題です。大...
-
初心者なので教えてほしいです。
-
Javaでlog4jを使ってログ出力を...
-
コンストラクタの引数の中のnew?
-
System.exit()の値を取得したい
-
JSP/Servletのパラメータの受け...
-
GetterとSetterをやったのに。
-
javaで処理のやり方がわかりま...
-
オーバーロードで
-
Timerについて教えて下さい
-
NoSuchMethodErrorが解決できま...
-
インタフェイス実装と抽象クラ...
-
randomで
-
C# DatagridviewにExcelシート...
-
javaのプログラミングで作るRPG...
-
所持金の計算式とその表示の仕方
-
【java】同ディレクトリ別ファ...
-
多次元配列の出力のところがわ...
おすすめ情報