
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を探す
今、見られている記事はコレ!
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
-
大麻の使用罪がなかった理由や法改正での変更点、他国との違いを弁護士が解説
ドイツで2024年4月に大麻が合法化され、その2ヶ月後にサッカーEURO2024が行われた。その際、ドイツ警察は大会運営における治安維持の一つの方針として「アルコールを飲んでいるグループと、大麻を吸っているグループ...
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
バッチファイルごしのシステム...
-
【java】同ディレクトリ別ファ...
-
GetterとSetterをやったのに。
-
プログラミングの問題です。大...
-
答えがわかりません…
-
変数を動的に利用するには?
-
JSPやサーブレットでSystem.out...
-
InputStreamはreadが1回しかで...
-
イメージボタンを作成したいの...
-
【Java】再帰的なプログラムで...
-
C#で、あるクラスのメンバーす...
-
System.err. printlnとSystem.o...
-
stderrとstdout
-
javaアプレット repaintのタイ...
-
javaのパッケージについての質...
-
Vectorクラスの使い方
-
ランダムな英数字を発生させて...
-
flush()とclose()について
-
java Threadのsleepを途中で止...
-
実数からの小数部の取得
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
変数を動的に利用するには?
-
中カッコ{}だけの記述について
-
プログラミングの問題です。大...
-
初心者なので教えてほしいです。
-
Javaでlog4jを使ってログ出力を...
-
コンストラクタの引数の中のnew?
-
System.exit()の値を取得したい
-
JSP/Servletのパラメータの受け...
-
GetterとSetterをやったのに。
-
javaで処理のやり方がわかりま...
-
オーバーロードで
-
Timerについて教えて下さい
-
NoSuchMethodErrorが解決できま...
-
インタフェイス実装と抽象クラ...
-
randomで
-
C# DatagridviewにExcelシート...
-
javaのプログラミングで作るRPG...
-
所持金の計算式とその表示の仕方
-
【java】同ディレクトリ別ファ...
-
多次元配列の出力のところがわ...
おすすめ情報