假设我有一个字符串'gfgfdAAA1234ZZZuijjk',我想只提取'1234'部分.
我只知道在我感兴趣的部分之前AAA和之后ZZZ的几个字符是什么1234.
使用sed它可以用字符串做这样的事情:
echo "$STRING" | sed -e "s|.*AAA\(.*\)ZZZ.*|\1|"
Run Code Online (Sandbox Code Playgroud)
这将给我1234带来的结果.
如何在Python中做同样的事情?
variable=";CREATEDBY~string~1~~72~0~0~0~~~0;CREATEDBYNAME~string~1~~800~0~0~0~~~1;CREATEDBYYOMINAME~string~1~~800~0~0~0~~~2;CREATEDON~date~1~yyyy-MM-dd HH:mm:ss.SSS~26~0~0~0~~~3;CREATEDONUTC~date~1~yyyy-MM-dd HH:mm:ss.SSS~26~0~0~0~~~4"
Run Code Online (Sandbox Code Playgroud)
如何拆分(;和~)之间的每个值?
结果就像 CREATEDBY,CREATEDBYNAME,CREATEDBYYOMINAME,...
我已经尝试了下面的内容,但它首次出现了.
variable[variable.find(";")+1:myString.find("~")]
Run Code Online (Sandbox Code Playgroud)
如何使用拆分获取字符串列表?
我是 Python 新手,仍在学习正则表达式,所以这个问题对一些正则表达式专家来说可能听起来微不足道,但你去吧。我想我的问题是关于在两个字符串之间查找字符串的问题的概括。我想知道:如果这个模式(initial_substring + substring_to_find + end_substring)在一个长字符串中重复多次怎么办?例如
test='someth1 var="this" someth2 var="that" '
result= re.search('var=(.*) ', test)
print result.group(1)
>>> "this" someth2 var="that"
Run Code Online (Sandbox Code Playgroud)
相反,我想得到一个像["this","that"]. 我该怎么做?
首先我要说的是,在在这里问这个问题之前,我已经在谷歌上广泛搜索了好几个小时,如果我选择在这里发帖,我会非常绝望。
我有一些具有以下格式(近似)的字符串:
"firstword text ONE lastword"
"firstword text TWO lastword"
Run Code Online (Sandbox Code Playgroud)
我需要提取 thetext之后'firstword'和之前'ONE'or 'TWO'。
所以我对上述字符串的输出必须是:
"text"
Run Code Online (Sandbox Code Playgroud)
如何拆分或分区字符串,以便我可以:
如果可能的话,我想用split()or解决它partition(),但正则表达式也可以。
感谢您的帮助,如果这是一个愚蠢的问题,我们深表歉意。
我有这个连续的串行数据流:
----------------------------------------
SENSOR COORDINATE = 0
MEASURED RESISTANCE = 3.70 kOhm
----------------------------------------
----------------------------------------
SENSOR COORDINATE = 1
MEASURED RESISTANCE = 3.70 kOhm
----------------------------------------
----------------------------------------
SENSOR COORDINATE = 2
MEASURED RESISTANCE = 3.69 kOhm
----------------------------------------
Run Code Online (Sandbox Code Playgroud)
对于每次迭代,我希望能够获取值。传感器坐标值和电阻值。
我找到了使用.split()和使用正则表达式(
在两个子字符串之间查找字符串)的解决方案,但问题是在我的情况下,我想要过滤的不是一个字符串,而是一个连续的流。
例如,.split()会找到我的字符串,但它会将流分成两半。这在连续流中不起作用超过一次。
注意:在传感器坐标值之后,我有一个回车符。
编辑 1/3:这是获取串行数据的代码片段:
def readSerial():
global after_id
while ser.in_waiting:
try:
ser_bytes = ser.readline() #read data from the serial line
ser_bytes = ser_bytes.decode("utf-8")
text.insert("end", ser_bytes)
except UnicodeDecodeError:
print("UnicodeDecodeError")
else:
print("No data received")
after_id=root.after(50,readSerial)
Run Code Online (Sandbox Code Playgroud)
如果有人想知道,这是 arduino 端的 C 代码,用于发送数据: …