提供一个简单的例子可以提供我不需要的解决方案,而替代解决方案将无法工作,因为我需要解决更复杂的模式。
假设你有一个字符串123.321
此字符串可以用正则表达式表示为 <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:background="#ffffff">
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="8dp"
android:background="#0a608e"
android:gravity="center_horizontal">
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/gobackb"
android:background="?android:selectableItemBackground"
tools:targetApi="honeycomb"
android:src="@drawable/whitearrows"
android:padding="10dp" />
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Daily report dispatch time"
android:textColor="#ffffff"
android:textSize="20sp"
android:gravity="center_horizontal"
android:paddingTop="10dp"
android:paddingRight="15dp"
/>
</LinearLayout>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMediumInverse"
android:text="Set daily report dispatch time "
android:id="@+id/textView33"
android:textColor="#ffffff"
android:background="#074363"
android:padding="10dp" />
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TimePicker
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/timePicker1"
android:layout_gravity="center_horizontal" />
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:padding="10dp">
<Button
android:id="@+id/startSetDialog"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Set Target Time"/>
<Button
android:id="@+id/cancel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Cancel Alarm"/>
</LinearLayout>
<TextView
android:id="@+id/alarmprompt"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
</LinearLayout>
我想做的是替换&#34;。&#34;用&#34;,&#34;获得123,321。
因此,我希望正则表达式模式[0-9]*\\.[0-9]*
成为正则表达式模式[0-9]*\\.[0-9]*
是否可以指示两个正则表达式模式并使与第一个模式匹配的String成为与第二个模式匹配的String?
我该怎么做?
最简单的解决方案是什么?
答案 0 :(得分:1)
您可以使用\\d*
匹配可选数字,并将数字匹配与()
分组。然后使用String.replaceAll(String, String)
之类的
String str = "123.321";
if (str.matches("\\d*\\.\\d*")) {
str = str.replaceAll("(\\d*)\\.(\\d*)", "$1,$2");
}
System.out.println(str);
输出(按要求)
123,321