正则匹配任意字母开头Handler字符串结尾的字符串并且替换Handler为A
时间: 2023-02-24 07:09:59 浏览: 219
正则表达式可以使用以下模式匹配任意字母开头的 "Handler" 字符串结尾的字符串并将其替换为 "A":
```
import re
string = "XHandler YHandler ZHandler"
new_string = re.sub(r'\b[a-zA-Z]+Handler', 'A', string)
print(new_string)
```
输出:
```
A A A
```
相关问题
正则匹配以Handler结尾的字符串
正则表达式匹配以"Handler"结尾的字符串的方法:
```
^.*Handler$
```
这个正则表达式使用了以下元字符:
- `^` 匹配字符串的开头
- `.*` 匹配任意数量的任意字符
- `$` 匹配字符串的结尾
因此,上面的正则表达式将匹配任何以"Handler"结尾的字符串。
/** 补全读取串口返回数据处理Runnable的代码: * 使用serialPortHandler调用,每3秒循环执行自身 * 当model中reportFlag为真(开始上报状态)且返回消息长度大于0时才继续执行分析逻辑 * 分析读取到的返回信息(转换为String类型后分析),当其不为空且包含[TE,HU,IL,PU,AI,NO,CO]中任意一个字符时(不同传感器的数据标识),才继续执行数据更新逻辑 * 将返回信息中的其它字符替换为""(使用正则表达式"\\p{C}"),之后构造Message对象,Message的what设置为3,obj设置为处理后的返回信息字符串 * 调用UIHandler的sendMessage方法来根据收到的传感器信息更新界面 */ public Runnable serialPortRunnable = new Runnable() {
@Override
public void run() {
// 每3秒循环执行自身
serialPortHandler.postDelayed(this, 3000);
if (model.reportFlag && model.receiveData.length() > 0) {
// 分析读取到的返回信息
String receivedData = model.receiveData.toString();
if (receivedData != null && receivedData.matches(".*[TE,HU,IL,PU,AI,NO,CO].*")) {
// 将返回信息中的其它字符替换为""
String filteredData = receivedData.replaceAll("\\p{C}", "");
// 构造Message对象
Message message = new Message();
message.what = 3;
message.obj = filteredData;
// 调用UIHandler的sendMessage方法来根据收到的传感器信息更新界面
uiHandler.sendMessage(message);
}
// 清空接收到的数据
model.receiveData.setLength(0);
}
}
}
阅读全文